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

การหาตัวเลขที่ใกล้ที่สุดจากอาร์เรย์ใน JavaScript

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลขและตัวเลขเป้าหมาย คืนตัวเลขในอาร์เรย์ที่มีความต่างสัมบูรณ์กับเป้าหมายน้อยที่สุด

ตัวอย่าง: arr=[34,67,31,53,89,12,4], target=41 → 34 (ต่าง 7)

ตัวอย่างโค้ด

const arr = [34, 67, 31, 53, 89, 12, 4];
const num = 41;

const findClosest = (arr = [], num) => {
  let curr = arr[0];
  let diff = Math.abs(num - curr);
  for (let val = 0; val < arr.length; val++) {
    let newdiff = Math.abs(num - arr[val]);
    if (newdiff < diff) { diff = newdiff; curr = arr[val]; }
  }
  return curr;
};

console.log(findClosest(arr, num));

ผลลัพธ์

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

34