使用 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 ] ]

更新於:2021 年 4 月 9 日

554 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始使用
廣告
© . All rights reserved.