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

Tìm sự khác biệt của số lớn nhất và số nhỏ nhất trong một mảng mà không cần sắp xếp nó trong JavaScript

Chúng ta có một mảng Số được sắp xếp theo thứ tự ngẫu nhiên thuần túy. Công việc của chúng ta là viết một hàm nhận vào một mảng Số như vậy và trả về hiệu của các số lớn nhất và nhỏ nhất có trong nó, nhưng không sắp xếp mảng.

Do đó, hãy viết mã cho hàm này -

Chúng ta sẽ sử dụng hàm Array.prototype.reduce () để chọn các số nhỏ nhất và lớn nhất từ ​​mảng và sau đó sẽ trả về sự khác biệt của chúng. Mã cho chức năng này sẽ là -

Ví dụ

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

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

232