Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで原点に最も近いポイントを見つける


問題

最初の引数として座標の配列arrを取り、2番目の引数として数値numを受け取るJavaScript関数を作成する必要があります。

この関数は、原点(0、0)に最も近いnum個のポイントを見つけて返す必要があります。

(ここでは、平面上の2点間の距離はユークリッド距離です。)

たとえば、関数への入力が-

の場合
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 ] ]

  1. JavaScriptで配列の中央値インデックスを見つける

    問題 1次元空間内のさまざまな小惑星の位置を表す配列arrを取り込むJavaScript関数を作成する必要があります。 各小惑星について、絶対値はそのサイズを表し、符号はその方向を表します(正の意味は右、負の意味は左)。各小惑星は同じ速度で移動します。 私たちの機能は、すべての衝突後の小惑星の状態を見つけることになっています。 2つの小惑星が出会うと、小さい方の小惑星が爆発します。両方が同じサイズの場合、両方が爆発します。同じ方向に移動する2つの小惑星が出会うことはありません。 たとえば、関数への入力が-の場合 入力 const arr = [1, 7, 3, 6, 5, 6];

  2. JavaScriptで最長の連続結合を検索する

    問題 最初で唯一の引数として、数値のペアarrの配列を受け取るJavaScript関数を作成する必要があります。すべてのペアで、最初の数字は常に2番目の数字よりも小さくなります。 ここで、b