我有一个对象列表:
[ { id: 4, name:'alex' }, { id: 3, name:'jess' }, { id: 9, name:'...' }, { id: 1, name:'abc' } ]
我有另一个具有正确“顺序”的列表。
[ 3, 1, 9, 4]
如何根据键“id”将第一个列表与第二个列表的顺序相匹配? 结果应该是:
[ { id: 3, name:'jess' }, { id: 1, name:'abc' }, { id: 9, name:'...' }, { id: 4, name:'alex' } ]
最佳答案
我介入了这个问题并用一个简单的.sort
解决了它
假设您要排序的列表存储在变量 needSort
中,带有顺序的列表在变量 order
中,并且两者都在同一范围内可以像这样运行 .sort
:
needSort.sort(function(a,b){
return order.indexOf(a.id) - order.indexOf(b.id);
});
它对我有用,希望对你有帮助。
关于javascript - 如何根据另一个数组的顺序对一个对象数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755889/