我从服务器接收了一组对象,但它们的顺序与我想要的吐出它们的顺序不同。不幸的是,我想要的顺序也不是按字母顺序排列的。我想知道重新排序数组元素的最佳方法是什么。另外,如果有一种方法可以利用array.sort
。我现在如何让它工作:
function arraySort(array) {
let orderedArray = new Array();
array.map(item => (
item.key === 'Person' ? orderedArray[0] = item : null,
item.key === 'Place' ? orderedArray[1] = item : null,
item.key === 'Thing' ? orderedArray[2] = item : null
));
return orderedArray;
}
最佳答案
给你。
var order = ['Person', 'Place', 'Thing'];
var a = [
{ key: 'Place' },
{ key: 'Thing' },
{ key: 'Place' },
{ key: 'Person' },
{ key: 'Place' },
{ key: 'Thing' },
{ key: 'Person' }
];
var b = a.sort(function(a,b) {
return order.indexOf(a.key) - order.indexOf(b.key);
});
console.log(b);
关于javascript - 在 Javascript 中按自定义顺序放置数组元素的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38906068/