ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で 2 次元配列を列の値でソートするにはどうすればよいですか?

JavaScript で 2 次元配列を列の値でソートするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 04:22:03182ブラウズ

How Can You Sort a Two-Dimensional Array by Column Value in JavaScript?

JavaScript での列値による 2 次元配列の並べ替え

この記事では、JavaScript で 2 次元配列を並べ替える方法について説明します。特定の列値による JavaScript。

問題ステートメント

配列の配列として表される 2 次元配列 (各部分配列に 2 つの要素が含まれる) が与えられた場合、タスクは最初の列の値に基づいて配列を昇順に並べ替えることです (インデックス 0 の列).

Solution

JavaScript は便利なメソッドを提供します。 sort() を使用すると、多次元配列を並べ替えることができます。提供されたコードを詳しく見てみましょう:

var a = [[12, 'AAA'], [58, 'BBB'], [28, 'CCC'],[18, 'DDD']];

a.sort(sortFunction);

function sortFunction(a, b) {
    if (a[0] === b[0]) {
        return 0;
    }
    else {
        return (a[0] < b[0]) ? -1 : 1;
    }
}

説明

  • sort() メソッドが配列に対して呼び出されます。
  • sortFunction は引数として sort() メソッドに渡されます。この関数は 2 つの部分配列の最初の要素 (a[0] と b[0]) を比較し、等しい場合は

    • 0 を返します。 a[ の場合は
    • -1 a[0] がより大きい場合、0] は b[0] より小さいです。
    • 1 b[0].

デフォルトでは、sort() は戻り値を使用してサブ配列の順序を決定し、昇順にソートします。

2 番目の列でソート

2 番目の列でソートするには、sortFunction 2 番目の列の値を比較するように変更できます:

a.sort(compareSecondColumn);

function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] < b[1]) ? -1 : 1;
    }
}

これにより、特定の要件に基づいてさまざまな列で柔軟に並べ替えることができます。

以上がJavaScript で 2 次元配列を列の値でソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。