Computer >> Máy Tính >  >> Lập trình >> Javascript

Phân vùng bằng nhau của một mảng số - JavaScript

Chúng ta bắt buộc phải viết một hàm trả về true nếu chúng ta có thể phân chia mảng thành một phần tử và phần còn lại, sao cho một phần tử này bằng tích của tất cả các phần tử khác ngoại trừ chính nó, ngược lại là false.

Ví dụ:Nếu mảng là -

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

Sau đó, kết quả đầu ra phải là true

Bởi vì, 56 bằng -

2 * 4 * 7 * 1

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra trong bảng điều khiển -

true