Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาตัวเลขที่ใกล้เคียงและมากกว่าจากชุดตัวเลขเฉพาะด้วย JavaScript

เรามีชุดตัวเลข และต้องการหาตัวเลขเดียวกันหรือตัวเลขที่ใกล้เคียงและมากกว่า (nearest higher) จากชุดนั้น ตามตัวเลขที่ระบุเป็นอินพุต

ชุดตัวเลขถูกกำหนดเป็น:

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

ผลลัพธ์

ผลลัพธ์ที่แสดงในคอนโซลจะเป็นดังนี้:

['F']