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 次浏览

开始您的 职业生涯

完成课程获得认证

开始
广告