这是我必须从最高平均成绩到最低平均成绩排序的数组。
let students= [
{name:"Petar", year:1, average:4.35},
{name:"Ivana", year:1, average:3.88},
{name:"Marko", year:2, average:2.27},
{name:"Davor", year:2, average:4.15},
{name:"Petra", year:3, average:3.99},
{name:"Ivan", year:3, average:4.33},
{name:"Goran", year:3, average:3.74}
];
students.sort(function(a,b){
return a[1] - b[1];
});
答案 0 :(得分:2)
a
函数中的参数b
和sort
是对象,而不是数组。使用dot
访问对象的属性而不是括号。
let students= [
{name:"Petar", year:1, average:4.35},
{name:"Ivana", year:1, average:3.88},
{name:"Marko", year:2, average:2.27},
{name:"Davor", year:2, average:4.15},
{name:"Petra", year:3, average:3.99},
{name:"Ivan", year:3, average:4.33},
{name:"Goran", year:3, average:3.74}
];
const output = students.sort((a, b) => b.average - a.average);
console.log(output);