在不使用JavaScript对其进行排序的情况下,找到数组中最大和最小数的差

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

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

我们将使用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