Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng các số nguyên đã sắp xếp, arr, làm đối số đầu tiên và một số đích làm đối số thứ hai.
Hàm của chúng ta sẽ trả về một mảng chính xác hai số tồn tại trong mảng arr và gần đích nhất. Mảng đầu ra cũng nên được sắp xếp theo thứ tự tăng dần.
Ví dụ:nếu đầu vào của hàm là
Đầu vào
const arr = [1, 2, 3, 4, 5]; const target = 3;
Đầu ra
const output = [2, 3];
Ví dụ
Sau đây là mã -
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));
Đầu ra
[2, 3]