在 JavaScript 中,不排序,求数组中最大数和最小数之差

javascriptweb developmentobject oriented programming更新于 2025/10/24 20:28:17

我们有一个按纯随机顺序排列的数字数组。我们的任务是编写一个函数,该函数接受一个这样的数字数组,并返回其中最大数和最小数之差,但不对数组进行排序。

因此,让我们为该函数编写代码 −

我们将使用 Array.prototype.reduce() 函数从数组中选择最小数和最大数,然后返回它们的差值。该函数的代码为 −

示例

const arr = [23, 65, 67, 23, 2, 6, 87, 23, 45, 65, 3, 234, 3];
const findDifference = arr => {
   if(!arr.length){
      return 0;
   }
   const creds = arr.reduce((acc, val) => {
      let { max, min } = acc;
      if(val > max){
         max = val;
      };
      if(val < min){
         min = val;
      };
      return { max, min };
   }, {
      max: -Infinity,
      min: Infinity
   });
   return creds.max - creds.min;
};
console.log(findDifference(arr));

输出

控制台中的输出将是 −

232

相关文章


有用资源