考虑以下场景:您有两个数组,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中文网其他相关文章!