ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript オブジェクトをプロパティ値で並べ替える方法

JavaScript オブジェクトをプロパティ値で並べ替える方法

Linda Hamilton
リリース: 2024-12-29 09:42:11
オリジナル
798 人が閲覧しました

How to Sort JavaScript Objects by Property Values?

プロパティ値によるオブジェクトの並べ替え

JavaScript では、オブジェクトはキーと値のペアの順序付けされていないコレクションです。ただし、プロパティの値に基づいてオブジェクトを並べ替える必要がある場合もあります。これは、オブジェクトを配列に変換し、配列を値でソートし、ソートされた配列からオブジェクトを再構築することで実現できます。

提供された例を考えてみましょう。

var list = {
  "you": 100, 
  "me": 75, 
  "foo": 116, 
  "bar": 15
};
ログイン後にコピー

To list のプロパティを値に基づいて並べ替えるには、次のことができます:

let sortable = [];
for (let property in list) {
    sortable.push([property, list[property]]);
}

sortable.sort((a, b) => a[1] - b[1]);

// [["bar", 15], ["me", 75], ["you", 100], ["foo", 116]]
ログイン後にコピー

これにより、次の部分配列を含む並べ替え可能な配列が作成されます。プロパティと値のペア。値に基づいて昇順に並べ替えられます。これで、ソートされた順序でオブジェクトを再構築できます:

let objSorted = {};
sortable.forEach(item => {
    objSorted[item[0]] = item[1];
});
ログイン後にコピー

これにより、ソートされたオブジェクトが得られます:

objSorted = {
  "bar": 15, 
  "me": 75, 
  "you": 100, 
  "foo": 116
};
ログイン後にコピー

ES8 以降では、Object を使用してこのプロセスを簡素化できます。 events():

const maxSpeed = {
  car: 300, 
  bike: 60, 
  motorbike: 200, 
  airplane: 1000,
  helicopter: 400, 
  rocket: 8 * 60 * 60
};

const sortable = Object.entries(maxSpeed)
  .sort(([,a],[,b]) => a-b)
  .reduce((r, [k, v]) => ({ ...r, [k]: v }), {});

console.log(sortable);
ログイン後にコピー

これは、プロパティと値のペアの並べ替えられた配列をobject.

プロパティ値によるオブジェクトの並べ替えは可能ですが、JavaScript の実装の癖に依存しており、将来壊れる可能性があることに注意することが重要です。 JavaScript オブジェクト内の要素の順序についての仮定を避けることをお勧めします。

以上がJavaScript オブジェクトをプロパティ値で並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート