Processing math: 100%

左右子数组和乘积 - 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

更新于: 16-Sep-2020

108 次阅读

开始你的职业生涯

通过完成课程获得认证

开始
广告