JS中使用sort方法为集合排序
js从后端接收到的数据结构大致如下:
id | name | math | verbal | english | total |
---|---|---|---|---|---|
001 | 张三 | 80 | 80 | 80 | 240 |
002 | 李四 | 83 | 83 | 83 | 249 |
003 | 王五 | 70 | 70 | 70 | 210 |
004 | 赵六 | 90 | 90 | 90 | 270 |
005 | 孙七 | 81 | 81 | 81 | 243 |
未排序的打印结果:
现在要使用 sort
方法根据 total 字段为这个集合排序
需要先准备一个排序函数:(这个不用改,直接拿着用就好了)
function compare (property) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
然后排序:
this.student.sort(compare('total')).reverse()
在 sort 方法的参数里调用了我们定义的 compare 方法,compare 的参数是我们要排序的字段。 reverse 的作用是把排序变为降序,因为 compare 方法中的排序是升序的。
排序后的结果如下:
.
.
.
.
.
感谢阅读,有不足之处欢迎指出,共同探讨