예를 들어 숫자 배열을 인수로 취하는 함수를 작성해야 한다고 가정해 보겠습니다. 현재 곱을 계산하고 있는 인덱스를 제외하고 각 숫자의 곱으로 새 배열을 반환해야 합니다.
예를 들어, arr에 5개의 인덱스가 있고 인덱스 1에 대한 값을 생성하는 경우 인덱스 0, 2, 3 및 4에 있는 숫자가 곱해집니다. 마찬가지로, 인덱스 2의 값을 생성하는 경우 인덱스 0, 1, 3, 4의 숫자가 곱해지는 식입니다.
참고 − 배열 내부의 모든 요소가 0이 아님을 보장합니다.
먼저 배열을 곱으로 줄인 다음 배열을 반복하여 해당 인덱스의 값을 찾고 곱을 해당 인덱스의 원래 값으로 나누기만 하면 됩니다.
이 작업을 수행하는 코드는 -
입니다.예시
const arr = [12, 10, 8, 6, 5, 2]; const produceArray = (arr) => { const product = arr.reduce((acc, val) => acc*val); return arr.map(el => { return product/el; }); }; console.log(produceArray(arr));
출력
콘솔의 출력은 -
[ 4800, 5760, 7200, 9600, 11520, 28800 ]