複数フィールドの配列の並べ替え
前の質問では、単一のフィールドに基づいた配列の並べ替えについて説明しました。ただし、現実のシナリオでは、多くの場合、複数の基準に基づく並べ替えが必要になります。この記事では、このアプローチを複数フィールドの並べ替えに適用する方法を説明します。
具体的な例: 都市と価格
都市で並べ替える必要がある次の Homes 配列を考えてみましょう。 (昇順)、次に価格 (降順):
var homes = [ { "h_id":"3", "city":"Dallas", "state":"TX", "zip":"75201", "price":"162500" }, { "h_id":"4", "city":"Bevery Hills", "state":"CA", "zip":"90210", "price":"319250" }, { "h_id":"6", "city":"Dallas", "state":"TX", "zip":"75000", "price":"556699" }, { "h_id":"5", "city":"New York", "state":"NY", "zip":"00010", "price":"962500" } ];
複数フィールドの並べ替えアプローチ
複数のフィールドに基づいて並べ替えるには、選択したフィールドの値を一度に 1 つずつ比較して、一致するものが見つかるまで連鎖的に並べ替えるアプローチを使用できます。
実装
data.sort(function (a, b) { return a.city.localeCompare(b.city) || b.price - a.price; });
説明
出力
[ { "h_id": "3", "city": "Dallas", "state": "TX", "zip": "75201", "price": "162500" }, { "h_id": "6", "city": "Dallas", "state": "TX", "zip": "75000", "price": "556699" }, { "h_id": "4", "city": "Bevery Hills", "state": "CA", "zip": "90210", "price": "319250" }, { "h_id": "5", "city": "New York", "state": "NY", "zip": "00010", "price": "962500" } ]
このアプローチは、複数のフィールドで配列を並べ替えるための柔軟なソリューションを提供します。任意の数の並べ替え基準に合わせて簡単に変更できるため、さまざまなデータ操作シナリオに適しています。
以上がJavaScript で複数フィールドの配列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。