使用 JavaScript 尋找最接近原點的點
問題
我們需要編寫一個 JavaScript 函式,它吸收一個座標陣列 (arr) 作為第一個引數,一個數字 (num) 作為第二個引數。
我們的函式應該找到並返回到原點 (0, 0) 最接近的 num 個點。
(這裡,在平面上的兩個點之間的距離是歐幾里德距離。)
例如,如果對函式的輸入是 −
const arr = [[3,3],[5,-1],[-2,4]]; const num = 2;
那麼輸出應該是 −
const output = [[3,3],[-2,4]];
示例
對應的程式碼如下 −
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));輸出
而在控制檯中的輸出將是 −
[ [ 3, 3 ], [ -2, 4 ] ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP