ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で複数フィールドの配列を並べ替えるにはどうすればよいですか?

JavaScript で複数フィールドの配列を並べ替えるにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-24 02:18:10
オリジナル
527 人が閲覧しました

How to Sort a Multi-Field Array in JavaScript?

複数フィールドの配列の並べ替え

前の質問では、単一のフィールドに基づいた配列の並べ替えについて説明しました。ただし、現実のシナリオでは、多くの場合、複数の基準に基づく並べ替えが必要になります。この記事では、このアプローチを複数フィールドの並べ替えに適用する方法を説明します。

具体的な例: 都市と価格

都市で並べ替える必要がある次の 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;
});
ログイン後にコピー

説明

  • localeCompare メソッドは、都市の値を比較するために使用されます。 .
  • 都市の値が等しい場合は、価格の値を減算します。 a から b を取り出して、価格を降順に並べ替えます。
  • 結果の配列は、都市 (昇順)、次に価格 (降順) で並べ替えられます。

出力

[
  {
    "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 サイトの他の関連記事を参照してください。

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