ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็มที่จัดเรียง arr เป็นอาร์กิวเมนต์แรกและหมายเลขเป้าหมาย เป็นอาร์กิวเมนต์ที่สอง
ฟังก์ชันของเราควรส่งคืนอาร์เรย์ของตัวเลขสองตัวที่มีอยู่ในอาร์เรย์ arr และใกล้เคียงที่สุดกับเป้าหมาย อาร์เรย์เอาต์พุตควรเรียงลำดับเพิ่มขึ้นด้วย
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ
ป้อนข้อมูล
const arr = [1, 2, 3, 4, 5]; const target = 3;
ผลผลิต
const output = [2, 3];
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [1, 2, 3, 4, 5]; const target = 3; const findClosest = (arr = [], target = 1) => { const size = 2; return arr.sort((a, b) => { const distanceA = Math.abs(a - target) const distanceB = Math.abs(b - target) if (distanceA === distanceB) { return a - b } return distanceA - distanceB }).slice(0, size) .sort((a, b) => a - b); }; console.log(findClosest(arr, target));
ผลลัพธ์
[2, 3]