javascript – 如何根据另一个数组的顺序对对象数组进行排序?

前端之家收集整理的这篇文章主要介绍了javascript – 如何根据另一个数组的顺序对对象数组进行排序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个对象列表:
[ { id: 4,name:'alex' },{ id: 3,name:'jess' },{ id: 9,name:'...' },{ id: 1,name:'abc' } ]

我有另一个名单与正确的“命令”.

[ 3,1,9,4]

根据密钥“id”,如何将第一个列表与第二个列表的排序相匹配?
结果应该是:

[ { id: 3,name:'abc' },{ id: 4,name:'alex' } ]

解决方法

我踩了这个问题,用简单的.sort解决了这个问题

假设要排序的列表存储在变量needSort中,并且具有顺序的列表是变量顺序,并且两者都在相同的范围内,您可以像这样运行.sort:

needSort.sort(function(a,b){
  return order.indexOf(a.id) < order.indexOf(b.id) ? -1 : 1;
});

它为我工作,希望它有帮助.

原文链接:https://www.f2er.com/js/154285.html

猜你在找的JavaScript相关文章