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

JavaScript で 2D 配列を列の値で並べ替えるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-15 19:11:05
オリジナル
334 人が閲覧しました

How to Sort a 2D Array by Column Value in JavaScript?

JavaScript での 2D 配列の並べ替え

JavaScript で列の値で 2D 配列を並べ替えるにはどうすればよいですか?

次の形式の 2D 配列があるとします:

[[12, "AAA"], [58, "BBB"], [28, "CCC"], [18, "DDD"]]
ログイン後にコピー

この配列を最初の列でソートすると、結果は次のようになります:

[[12, "AAA"], [18, "DDD"], [28, "CCC"], [58, "BBB"]]
ログイン後にコピー

解決策:

JavaScript では、列値による 2D 配列の並べ替えが簡単です。その方法は次のとおりです:

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;
    }
}
ログイン後にコピー

この関数は次のルールを使用します:

  • 最初の列の要素が等しい場合、0 を返します。
  • 最初の配列の最初の列の要素が 2 番目の要素より小さい場合は、-1 を返します。
  • 最初の配列の最初の列の要素が 2 番目の要素より大きい場合は、戻ります1.

2 番目の列で配列を並べ替えるには、比較関数で a[0] を a[1] に置き換えるだけです。

a.sort(compareSecondColumn);

function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] < b[1]) ? -1 : 1;
    }
}
ログイン後にコピー

JavaScript ドキュメントを参照してください。並べ替え機能の詳細については、

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

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