JavaScript中元素之间的最大元素与最小元素的差值

我们需要编写一个包含数字数组的JavaScript函数。该函数应找到数组中最大和最小元素之间的差值。

条件是较小的元素应出现在原始数组中的较大元素之前。

例如-

考虑以下数字数组-

const arr = [2, 5, 6, 12, 1];

对于此数组,我们的函数应输出10。

尽管数组的最大元素和最小元素分别为12和1,但由于1不会出现在12之前,因此出于这个问题的目的,我们不能认为它是一个较小的有效数字。

因此,我们的函数返回差-

12 - 2 = 10

示例

以下是代码-

const arr = [2, 5, 6, 12, 1];
const findLargestDifference = (arr = []) => {
   if (arr.length <= 1){
      return -1;
   };
   let min = arr[0];
   let diff = 0;
   for (let i = 1; i < arr.length; i++) {
      if (arr[i] > min && (arr[i] - min > diff)) {
         diff = arr[i] - min;
      }
      else if (arr[i] <= min) {
         min = arr[i];
      }
   }
   if (diff <= 0){
      return -1
   };
   return diff;
};
console.log(findLargestDifference(arr));

输出结果

以下是控制台上的输出-

10