按照2个属性对数组进行排序可以使用JavaScript的sort()
方法结合自定义比较函数来实现。以下是一个示例代码:
// 定义一个包含多个对象的数组
var arr = [
{ name: "John", age: 25 },
{ name: "Alice", age: 30 },
{ name: "Bob", age: 20 },
{ name: "David", age: 25 }
];
// 自定义比较函数
function compare(a, b) {
// 先按照age属性进行排序
if (a.age < b.age) {
return -1;
}
if (a.age > b.age) {
return 1;
}
// 如果age相同,则按照name属性进行排序
if (a.name < b.name) {
return -1;
}
if (a.name > b.name) {
return 1;
}
return 0;
}
// 使用自定义比较函数对数组进行排序
arr.sort(compare);
console.log(arr);
上述代码中,我们定义了一个包含多个对象的数组arr
,每个对象都有name
和age
两个属性。然后我们定义了一个自定义比较函数compare
,该函数首先按照age
属性进行排序,如果age
相同,则按照name
属性进行排序。最后,我们使用sort()
方法结合自定义比较函数对数组进行排序,并打印排序后的结果。
这种方法可以根据需要自定义比较函数来按照多个属性进行排序。
领取专属 10元无门槛券
手把手带您无忧上云