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

啟動您的 職業生涯

透過完成課程獲得認證

開始吧
廣告
© . All rights reserved.