Computer >> Máy Tính >  >> Lập trình >> Javascript

Sự khác biệt lớn nhất giữa phần tử có sự thay đổi trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một mảng Số. Hàm sẽ tìm sự khác biệt giữa phần tử lớn nhất và nhỏ nhất của mảng.

Điều kiện là phần tử nhỏ hơn phải xuất hiện trước phần tử lớn hơn trong mảng ban đầu.

Ví dụ -

Hãy xem xét mảng Số sau -

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

Đối với mảng này, hàm của chúng ta sẽ xuất ra 10.

Mặc dù phần tử lớn nhất và nhỏ nhất của mảng lần lượt là 12 và 1, vì 1 không xuất hiện trước 12 nên chúng ta không thể coi đó là một số nhỏ hơn hợp lệ cho mục đích của câu hỏi này.

Do đó, hàm của chúng ta trả về sự khác biệt -

12 - 2 = 10

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

10