JavaScript でのプロパティ値によるオブジェクトの並べ替え
オブジェクトの配列を処理する場合、特定のプロパティ値による並べ替えは、管理と視覚化に不可欠です。データ。 JavaScript を使用してこの並べ替え機能を実現する方法を見てみましょう。
質問:
ホーム データを表すオブジェクトの配列が与えられた場合、それらを並べ替える関数を作成するにはどうすればよいですか? 「価格」プロパティは昇順または降順ですか?
オブジェクト配列:
次の home 配列を考えます:
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": "5", "city": "New York", "state": "NY", "zip": "00010", "price": "962500" } ];
ソート関数:
home 配列をソートするには、次の関数を利用できます。組み込みのsort()メソッド。このメソッドは引数として比較関数を必要とします。比較関数は 2 つの要素を入力として受け取り、最初の要素が 2 番目の要素の前に来る必要がある場合は負の数を返し、2 番目の要素が最初の要素より前に来る必要がある場合は正の数を返し、要素が等しいとみなされる場合は 0 を返します。
昇順:
住宅を価格の昇順に並べ替えるには、住宅の価格から最初の要素の価格を減算する比較関数を定義します。 2 番目の要素を取得し、その差を比較します。差が負の場合は、最初の要素の価格が 2 番目の要素の価格より小さいことを意味し、最初の要素が 2 番目の要素の前に来る必要があります。
homes.sort(function(a, b) { return parseFloat(a.price) - parseFloat(b.price); });
または ES6 構文では:
homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));
降順:
降順の場合、比較を逆にすることができます最初の要素の価格から 2 番目の要素の価格を引くことによって関数を作成します。
homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));
結果:
並べ替え後、homes 配列は次の基準に基づいて並べ替えられます。指定された順序で。変更した配列を印刷して並べ替えを確認できます。
以上がJavaScript オブジェクトの配列を特定のプロパティ値 (価格など) で並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。