可以使用Array.sort()方法对包含对象的数组进行排序。当想要按照对象的某个字段进行排序时,可以定义一个compare函数来指定排序规则。
例如,有一个包含学生信息的数组,每个学生信息都包含姓名和分数两个字段。现在想按照分数从高到低排序,代码如下:
let students = [
{name: 'Tom', score: 89},
{name: 'Jack', score: 92},
{name: 'Jenny', score: 85},
{name: 'Lucy', score: 97}
];
students.sort((a, b) => b.score - a.score);
console.log(students);
// 输出: [
// { name: 'Lucy', score: 97 },
// { name: 'Jack', score: 92 },
// { name: 'Tom', score: 89 },
// { name: 'Jenny', score: 85 }
// ]
在上面的代码中,我们定义了一个匿名函数作为compare函数用来比较学生的分数。由于要按照分数从高到低排序,所以我们在函数中将b的分数减去a的分数,这样就可以得到一个按照分数降序排列的数组。最后调用console.log()方法输出排序后的数组。
除了按照分数排序之外,我们还可以针对其他字段编写相应的compare函数来实现不同的排序规则。
上一篇:按对象值筛选数组删除了错误的对象
下一篇:按堆栈顺序显示字母的反向顺序