เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลขและตัวเลขเป้าหมาย คืนตัวเลขในอาร์เรย์ที่มีความต่างสัมบูรณ์กับเป้าหมายน้อยที่สุด
ตัวอย่าง: 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