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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-12-12 11:46:131014ブラウズ

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

ID を使用しない別の配列の順序に基づいて JavaScript 配列を並べ替える

次のシナリオを考えてみましょう。itemsArray とsortingArr という 2 つの配列があります。 itemsArray には、['Anne', 'a'] などの名前と文字のペアが含まれますが、sortingArr には、['b', 'c', 'b', 'b', 'a', 'd'].

目的は、一意性がないにもかかわらず、itemArray の順序がsortArr の順序とできる限り一致するように再配置することです。

これを実現するエレガントで効率的な方法の 1 つは、sort メソッドを使用することです。

itemsArray.sort(function(a, b){  
  return sortingArr.indexOf(a) - sortingArr.indexOf(b);
});

このスニペットでは、sort メソッドはカスタム比較関数を使用して itemsArray 内の各要素を比較します。この関数は、sortingArr の現在の要素のインデックスと他の要素のインデックスの差を返します。この比較により、同じ文字を持つ要素が確実にグループ化され、sortArr に従って順序付けされます。

出力 itemsArray は次のように再配置されます:

[
  ["Bob", "b"],
  ["Jason", "c"],
  ["Henry", "b"],
  ["Thomas", "b"]
  ["Anne", "a"],
  ["Andrew", "d"],
]

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

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