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
广告