嘿,我有以下数组:
var ar = [{id: "F"}, {id: "G"}, {id: "Z"}, {id: "ZZ"}]
我想将id等于ZZ
的那个移动到数组中的第一个位置。
我知道如何使用几个不同的功能来做到这一点,但我想知道是否有一个优雅的解决方案(lodash,...)
答案 0 :(得分:2)
您可以使用unshift()
添加到数组的开头,使用splice()
和findIndex()
来按ID获取对象。
var arr = [{id: "F"}, {id: "G"}, {id: "Z"}, {id: "ZZ"}]
arr.unshift(arr.splice(arr.findIndex(e => e.id == "ZZ"), 1)[0])
console.log(arr)
答案 1 :(得分:1)
var ar = [{
id: "F"
}, {
id: "G"
}, {
id: "Z"
}, {
id: "ZZ"
}];
ar.sort(function(a, b) {
if (a.id === "ZZ") {
return -1;
}
if (b.id === "ZZ") {
return 1;
}
return 0;
});
console.log(ar);
如何排序?