首頁 > web前端 > js教程 > 如何根據另一個陣列的順序對 JavaScript 陣列進行排序?

如何根據另一個陣列的順序對 JavaScript 陣列進行排序?

Susan Sarandon
發布: 2024-12-14 07:26:09
原創
206 人瀏覽過

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'];
登入後複製

目標是重新排列 itemsArray 以符合 sortingArr 中指定的順序。使用單行解決方案,您可以透過以下方式實現此目的:

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 sorting 的元素核心思想是根據每個內部數組的第二個元素(例如“a”、“b”、“c”、“d”)對數組進行排序。透過這樣做,itemsArray 中的項目將與 sortingArr 中定義的優先權對齊。

以上是如何根據另一個陣列的順序對 JavaScript 陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板