JavaScript 中排除一個元素後的總和


假設我們有一個這樣的整數陣列 -

const arr = [12, 1, 4, 8, 5];

我們需要編寫一個 JavaScript 函式,它以這樣一個數組作為唯一引數。

然後,該函式應返回一個恰好包含兩個整數的陣列 -

  • 第一個整數應該是排除任何一個元素後陣列所有元素的最小可能和。

  • 第二個整數應該是排除任何一個元素後陣列所有元素的最大可能和。

我們的唯一條件是必須使用一個且僅一個 for 迴圈來完成此操作。

例如 -

對於上述陣列,輸出應為 -

const output = [18, 29];

因為排除的數字分別為 12 和 1。

示例

其程式碼為 -

 線上演示

const arr = [12, 1, 4, 8, 5];
const findExtremeNumbers = (arr = []) => {
   let sum = 0;
   let min = Infinity;
   let max = -Infinity;
   for(let i = 0; i < arr.length; i++){
      const curr = arr[i];
      sum += curr;
      if(curr > max){
         max = curr;
      }
      if(curr < min){
         min = curr;
      };
   };
   return [sum - max, sum - min];
};
console.log(findExtremeNumbers(arr));

輸出

而在控制檯中的輸出為 -

[18, 29]

更新於: 2021 年 2 月 24 日

626 次瀏覽

開始您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.