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

Làm thế nào để tìm một số cao hơn gần nhất từ ​​một tập hợp các số cụ thể:JavaScript?

Chúng tôi có một tập hợp các số và yêu cầu của chúng tôi là tìm khóa số tương tự hoặc gần nhất với một số cụ thể được cung cấp làm đầu vào cho hàm.

Bộ số được định nghĩa là -

const numbers = {
   A:107,
   B:112,
   C:117,
   D:127,
   E:132,
   F:140,
   G:117,
   H:127,
   I:132,
   J:132,
   K:140,
   L:147,
   M:117,
   N:127,
   O:132
};

Ví dụ

Mã cho điều này sẽ là -

const numbers = {
   A:107,
   B:112,
   C:117,
   D:127,
   E:132,
   F:140,
   G:117,
   H:127,
   I:132,
   J:132,
   K:140,
   L:147,
   M:117,
   N:127,
   O:132
};
const nearestHighest = (obj, val) => {
   let diff = Infinity;
   const nearest = Object.keys(obj).reduce((acc, key) => {
      let difference = obj[key] - val;
      if (difference >= 0 && difference < diff) {
         diff = difference;
         acc = [key];
      }
      return acc;
   }, [])
   return nearest;
};
console.log(nearestHighest(numbers, 140));

Đầu ra

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

['F']