Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số gần nhất lớn hơn hoặc bằng từ tập số xác định trong JavaScript

Cho tập số định nghĩa sẵn, tìm key của số bằng hoặc gần nhất lớn hơn số đầu vào.

Tập số:

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ụ

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

Kết quả

Kết quả in ra console:

['F']