// 定义对象数组
const arr = [
{ name: 'John', age: 35 },
{ name: 'Bob', age: 20 },
{ name: 'Alice', age: 30 },
{ name: 'Mary', age: 30 }
];
// 按照年龄和名称排序
arr.sort((a, b) => {
// 如果年龄相同,则按照名称排序
if (a.age === b.age) {
return a.name.localeCompare(b.name);
}
// 否则按照年龄排序
return a.age - b.age;
});
console.log(arr);
// 输出:[ { name: 'Bob', age: 20 }, { name: 'Alice', age: 30 }, { name: 'Mary', age: 30 }, { name: 'John', age: 35 } ]
这段代码按照对象内的数字进行排序,然后按照对象内的字符串来进行排序,最终得到一个排好序的对象数组。具体做法是在sort()函数中传入一个比较函数,根据数字进行排序,如果相同则按照字符串排序。