考慮以下場景:您有兩個數組,itemsArray 和 sortingArr。 itemsArray 包含名稱字母對,例如['Anne', 'a'],而sortingArr 指定所需的字母順序,例如['b', 'c', 'b', 'b', 'a', 'd '].
目標是重新排列itemsArray,使其順序盡可能與sortingArr的順序匹配,儘管缺乏唯一性
實現此目的的一種優雅而有效的方法是通過排序方法:
itemsArray.sort(function(a, b){ return sortingArr.indexOf(a) - sortingArr.indexOf(b); });
在此代碼段中,排序方法使用自定義比較函數來比較itemsArray 中的每個元素。此函數傳回 sortingArr 中目前元素的索引與其他元素的索引之間的差異。此比較確保具有相同字母的元素被分組在一起並根據 sortingArr 進行排序。
輸出 itemsArray 會重新排列如下:
[ ["Bob", "b"], ["Jason", "c"], ["Henry", "b"], ["Thomas", "b"] ["Anne", "a"], ["Andrew", "d"], ]
以上是如何在不使用 ID 的情況下根據另一個陣列的順序對 JavaScript 陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!