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

숫자 배열의 등분할 - JavaScript

<시간/>

배열을 한 요소로 분할하고 나머지 요소로 배열을 분할할 수 있으면 true를 반환하는 함수를 작성해야 합니다. 따라서 이 한 요소는 자신을 제외한 다른 모든 요소의 곱과 같고 그렇지 않으면 false가 됩니다.

예:배열이 -

인 경우
const arr = [1, 56, 2, 4, 7];

그러면 출력이 true여야 합니다.

왜냐하면 56은 −

와 같기 때문입니다.
2 * 4 * 7 * 1

예시

다음은 코드입니다 -

const arr = [1, 56, 2, 4, 7];
const isEqualPartition = arr => {
   const creds = arr.reduce((acc, val) => {
      let { prod, max } = acc;
      if(val > max || !max){
         prod *= (max || 1);
         max = val;
      }else{
         prod *= val;
      }
      return { prod, max };
   }, {
      prod: 1,
      max: null
   });
   return creds.max === creds.prod;
};
console.log(isEqualPartition(arr));

출력

다음은 콘솔의 출력입니다 -

true