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

更新于: 09-Oct-2020

133 Views

启动您的 职业生涯

通过完成课程获得认证

开始吧
广告