左右子数组和乘积 - JavaScript
我们需要编写一个 JavaScript 函数,该函数接收一个长度为 N 的数字数组(N 应为偶数),并将数组分成两个子数组(左和右),每个子数组包含 N/2 个元素,并对子数组求和,然后将这两个子数组相乘。
例如:如果输入数组为 -
const arr = [1, 2, 3, 4]
则输出应为 -
(2+1) * (3+4) = 21
范例
以下是代码 -
const arr = [1, 2, 3, 4] 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: 0, right: 0 }); return creds.left * creds.right; }; console.log(subArrayProduct(arr));
输出
以下是控制台中的输出 -
21
广告