假设有一个包含以下对象的数组:
const arr = [
{ cod: 123, isTrue: true },
{ cod: 2, isTrue: true },
{ cod: 10, isTrue: false },
{ cod: 5, isTrue: false }
];
我们想要按照以下顺序进行排序:
首先按照布尔值isTrue排序,true在前,false在后;然后在按照数字编码cod排序,从小到大排列。
可以使用sort()函数来进行排序,首先按照布尔值isTrue排序,如果isTrue相同,则按照数字编码cod排序。
arr.sort((a, b) => {
if (a.isTrue === b.isTrue) {
return a.cod - b.cod;
}
else {
return a.isTrue ? -1 : 1;
}
});
console.log(arr);
输出结果:
[
{ cod: 2, isTrue: true },
{ cod: 123, isTrue: true },
{ cod: 10, isTrue: false },
{ cod: 5, isTrue: false }
]
以上代码根据isTrue值的布尔值对数组进行了排序,然后根据cod值进行了排序。