首页 > web前端 > js教程 > 如何在不使用 ID 的情况下根据另一个数组的顺序对 JavaScript 数组进行排序?

如何在不使用 ID 的情况下根据另一个数组的顺序对 JavaScript 数组进行排序?

Susan Sarandon
发布: 2024-12-12 11:46:13
原创
990 人浏览过

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

根据另一个没有 ID 的数组的顺序对 JavaScript 数组进行排序

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板