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

JavaScript에서 다른 모든 숫자의 곱 배열

<시간/>

예를 들어 숫자 배열을 인수로 취하는 함수를 작성해야 한다고 가정해 보겠습니다. 현재 곱을 계산하고 있는 인덱스를 제외하고 각 숫자의 곱으로 새 배열을 반환해야 합니다.

예를 들어, 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 ]