Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm điểm gần gốc tọa độ nhất trong JavaScript

Mô tả vấn đề

Chúng ta cần viết hàm JavaScript nhận vào mảng tọa độ arr làm đối số 1, và số num làm đối số 2. Hàm tìm và trả về num điểm gần gốc tọa độ (0, 0) nhất. (Khoảng cách là khoảng cách Euclid.)

Ví dụ, nếu đầu vào là:

const arr = [[3,3],[5,-1],[-2,4]]; 
const num = 2;

Thì đầu ra nên là:

const output = [[3,3],[-2,4]];

Ví dụ minh họa

Mã thực hiện (sắp xếp theo khoảng cách):

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

Kết quả trong console sẽ là:

[ [ 3, 3 ], [ -2, 4 ] ]