複数のフィールドによるオブジェクトの配列の並べ替え
元の質問では、単一のフィールドによるオブジェクトの配列の並べ替えは効率的に解決されました。しかし、複数のフィールドに並べ替えを適用するにはどうすればよいでしょうか?
オブジェクトの配列を複数のフィールドで並べ替えるには、連鎖並べ替えアプローチを使用できます。これには、最初のフィールドによる並べ替えが含まれ、値が等しい場合は 2 番目のフィールドによる並べ替えが続けられます。必要に応じて、このプロセスをさらに多くのフィールドに対して繰り返すことができます。
次の例では、住宅の配列を都市 (昇順) で並べ替え、次に価格 (降順) で並べ替えたいとします。
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"} ];
この配列を並べ替えるには、次の JavaScript コードを使用できます:
homes.sort(function (a, b) { return a.city.localeCompare(b.city) || b.price - a.price; });
このコードの使い方は次のとおりです。 works:
この並べ替えアプローチを複数のフィールドに適用することで、オブジェクトの複雑な配列を目的の順序で簡単に並べ替えることができます。
以上がJavaScript でオブジェクトの配列を複数のフィールドで並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。