反向求和陣列 JavaScript


我們需要編寫一個函式,即 reverseSum(),它接受兩個數字陣列,設為 first 和 second,並返回一個新陣列,其中包含,

  • 第一個陣列的第一個元素和第二個陣列的最後一個元素相加作為第一個元素,

  • 第一個陣列的第二個元素和第二個陣列的倒數第二個元素相加,依此類推。

當任何一個數組在另一個數組用完元素之前用完元素時,我們只需將剩餘的所有元素推送到陣列中。因此,我們為該函式編寫程式碼如下 −

示例

const first = [23, 5, 7, 2, 34, 7, 8];
const second = [2, 4, 21, 4, 6, 7, 56, 23, 32, 12];
const reverseSum = (first, second) => {
   const sumArray = [];
   let i, j, k;
   for(i = 0, j = second.length - 1, k = 0; i < first.length && j >= 0;
   i++, j--, k++){
      sumArray[k] = first[i] + second[j];
   };
   while(i < first.length){
      sumArray[k] = first[i];
      k++;
      i++;
   };
   while(j >= 0){
      sumArray[k] = second[j];
      k++;
      j--;
   };
   return sumArray;
};
console.log(reverseSum(first, second));

輸出

控制檯中的輸出為 −

[
   35, 37, 30, 58, 41,
   13, 12, 21, 4, 2
]

讓我們看看輸出如何顯示這些數字。例如,上面的 35 是第一個陣列的第一個元素和第二個陣列的最後一個元素相加作為第一個元素,即 −

 23 (First element of first array)
+12 (Last element of second array)
------
35

更新於: 28-Aug-2020

358 次瀏覽

開啟你的職業生涯

透過完成課程取得認證

入門
廣告