1. ホーム
  2. javascript

[解決済み] javascriptで配列をオブジェクトのキー値でソートする

2023-01-30 01:54:59

質問

これらのオブジェクトを含む配列を、どのように距離でソートするのでしょうか。距離が小さいものから大きいものへと並べ替えるのでしょうか?

Object { distance=3388, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=13564, duration="12 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=4046, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=11970, duration="17 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

どのように解決するのですか?

使用方法 Array.prototype.sort()を使用する。 例えば

myArray.sort((a, b) => a.distance - b.distance)

sort() メソッドは 比較演算子 関数を受け取ります。この関数は2つの引数(両方とも同じ型であることが望ましい)を受け取り、2つのうちどちらが先に来るかを判断するのが仕事です。

この関数は 整数

  • 負(0より小さい)。最初の引数が最初に来る
  • 正(0より大きい)。第2引数を先に指定
  • ゼロ:引数はソートにおいて等しいとみなされる

数値を扱う場合、最も簡単な解決策は、最初の値から2番目の値を引くことで、昇順の結果を生成します。