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]

 

以上就是JavaScript 中排除一个元素的总和的详细内容。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。