두 개의 배열이 있다고 가정합니다. 예를 들어 다음 두 개를 고려하십시오. -
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' ]