JavaScript中的子数组乘积和
我们需要编写一个JavaScript函数,该函数接受一个长度为N的数字数组,以使N是一个正偶数整数,并将该数组分为两个子数组(例如,左和右),每个子数组包含N/2个元素。
该函数应求出子数组的乘积,然后将由此获得的两个结果相加。
例如,如果输入数组为-
const arr = [1, 2, 3, 4, 5, 6]
那么输出应该是-
(1*2*3) + (4*5*6) 6+120 126
为此的代码将是-
const arr = [1, 2, 3, 4, 5, 6]
const subArrayProduct = arr => {
const { length: l } = arr;
const creds = arr.reduce((acc, val, ind) => {
let { left, right } = acc;
if(ind < l/2){
left *= val;
}else{
right *= val;
}
return { left, right };
}, {
left: 1,
right: 1
});
return creds.left + creds.right;
};
console.log(subArrayProduct(arr));以下是控制台上的输出-
126