Chia mảng chẵn thành 2 nửa, nhân các phần tử mỗi nửa, cộng 2 tích lại.
Ví dụ: [1,2,3,4,5,6] → (1*2*3)+(4*5*6)=6+120=126.
Mã thực hiện
const arr = [1,2,3,4,5,6];
const subArrayProduct = arr => {
const {length: l} = arr;
const creds = arr.reduce((acc, val, i) => {
let {left, right} = acc;
if (i < l/2) left *= val; else right *= val;
return {left, right};
}, {left: 1, right: 1});
return creds.left + creds.right;
};
console.log(subArrayProduct(arr));
Kết quả
126