Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

다른 JavaScript의 해당 값에 따라 배열 요소 가져오기

<시간/>

두 개의 배열이 있다고 가정합니다. 예를 들어 다음 두 개를 고려하십시오. -

const array1 = ['a','b','c','d','e','f','g','h'];
const array2 = [ 1, 0, 0, 1 , 0, 0, 1, 0];

두 배열 모두 동일한 길이를 갖도록 바인딩됩니다. 두 번째 배열의 요소가 제공되면 인덱스가 두 번째 배열에서 인수로 취한 요소의 인덱스에 해당하는 모든 요소의 첫 번째 배열에서 하위 배열을 반환하는 함수를 작성해야 합니다.

예:findSubArray(0)은 -

를 반환해야 합니다.
[‘b’, ‘c’, ‘e’, ‘f’, ‘h’]

이는 인덱스 1, 2, 4, 5, 7의 첫 번째 배열에 존재하는 요소이기 때문에 두 번째 배열에는 0이 있습니다.

따라서 이제 이 함수에 대한 코드를 작성해 보겠습니다. -

예시

const array1 = ['a','b','c','d','e','f','g','h'];
const array2 = [ 1, 0, 0, 1 , 0, 0, 1, 0];
const findSubArray = (first, second, el) => {
   if(first.length !== second.length){
      return false;
   };
   return second.reduce((acc, val, ind) => {
      if(val === el){
         acc.push(first[ind]);
      };
      return acc;
   }, []);
};
console.log(findSubArray(array1, array2, 0));
console.log(findSubArray(array1, array2, 1));

출력

콘솔의 출력은 다음과 같습니다. -

[ 'b', 'c', 'e', 'f', 'h' ]
[ 'a', 'd', 'g' ]