Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng tọa độ, arr, làm đối số đầu tiên và một số, num, làm đối số thứ hai.
Hàm của chúng ta sẽ tìm và trả về số điểm gần nhất với điểm gốc (0, 0).
(Ở đây, khoảng cách giữa hai điểm trên một mặt phẳng là khoảng cách Euclide.)
Ví dụ:nếu đầu vào của hàm là -
const arr = [[3,3],[5,-1],[-2,4]]; const num = 2;
Sau đó, đầu ra phải là -
const output = [[3,3],[-2,4]];
Ví dụ
Mã cho điều này sẽ là -
const arr = [[3,3],[5,-1],[-2,4]]; const num = 2; const closestPoints = (arr = [], num = 1) => { arr.sort(([a, b], [c, d]) => { return Math.sqrt(a * a + b * b) - Math.sqrt(c * c + d * d); }); return arr.slice(0, num); }; console.log(closestPoints(arr, num));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
[ [ 3, 3 ], [ -2, 4 ] ]