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

別の配列の順序に基づいて JavaScript 配列を並べ替えるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-14 07:26:09
オリジナル
200 人が閲覧しました

How to Sort a JavaScript Array Based on Another Array's Order?

別の配列に基づいて JavaScript 配列を並べ替える

配列を特定の順序で並べ替えるのは、特に順序が正しくない場合には困難な作業となることがあります。信頼できる ID があること。次の配列について考えてみましょう:

itemsArray = [
  ['Anne', 'a'],
  ['Bob', 'b'],
  ['Henry', 'b'],
  ['Andrew', 'd'],
  ['Jason', 'c'],
  ['Thomas', 'b'],
];

sortingArr = ['b', 'c', 'b', 'b', 'a', 'd'];
ログイン後にコピー

目的は、sortingArr で指定された順序と一致するように itemsArray を再配置することです。 1 行のソリューションを使用すると、次のようにこれを実現できます。

itemsArray.sort(function(a, b) {
  return sortingArr.indexOf(a[1]) - sortingArr.indexOf(b[1]);
});
ログイン後にコピー

または、さらに簡潔にするために、

itemsArray.sort((a, b) => sortingArr.indexOf(a[1]) - sortingArr.indexOf(b[1]));
ログイン後にコピー

このコードは、配列ソート関数を利用して、項目配列に基づいて itemsArray を再配置します。 sortArr の要素。中心的な考え方は、各内部配列の 2 番目の要素 (例: 'a'、'b'、'c'、'd') に基づいて配列を並べ替えることです。そうすることで、itemsArray 内のアイテムは、sortingArr.

で定義された優先順位と一致します。

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

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