左右子陣列和乘積 - 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 次閱讀

開始你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.