javascript - 根据另一个不同长度数组中的值对数组进行排序

标签 javascript arrays sorting

我浏览了几篇有类似问题的帖子,但找不到能解决我的问题的帖子。其他似乎都使用相同大小或按值的另一个数组进行排序。

我有两个如下所示的数组:

var allCategories = ['Campus', 'Building', 'Floor', 'Room', 'Lecture Theatre', 'Lab'];
var currentCategories = ['Room', 'Lab', 'Campus'];

如何对 currentCategories 进行排序,以便与 allCategories 的顺序匹配?

所需输出:

currentCategories --> ['Campus', 'Room', 'Lab'];

最佳答案

“根据该数组中元素的索引对该数组进行排序”:

currentCategories.sort(function(a, b) {
  return allCategories.indexOf(a) - allCategories.indexOf(b);
});
// => ["Campus", "Room", "Lab"]

关于javascript - 根据另一个不同长度数组中的值对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25859462/

相关文章:

javascript - 是否使用 RequireJS

javascript - 如何自动居中 JSSOR 箭头以便考虑缩略图行?

javascript - 日期选择器 Bootstrap 不保存

php - 删除数组中的重复项以及按相反顺序 PHP Laravel

javascript - 从数组值开始按升序追加元素

python - 按时间间隔对元组排序? Python

javascript - WebRTC、STUN/TURN 在局域网外不工作

java - 从 MDX 请求 Mondrian 检索数据

c - qSort 对结构进行排序

java - 使用 Java 8 流对多个变量列表进行排序