如何对每行具有3个值的数组进行排序?

时间:2019-04-02 11:07:17

标签: javascript

这是我必须从最高平均成绩到最低平均成绩排序的数组。

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];
     });

1 个答案:

答案 0 :(得分:2)

a函数中的参数bsort是对象,而不是数组。使用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);