先看代码
var arrs = [ {id:2,name:"a"}, {id:1,name:"b"}, {id:4,name:"f"}, {id:3,name:"d"}, ] arrs.sort((a,b) => { return a.id - b.id })
console出来
个人感悟:
如果是单纯的数组,sort里如果没有值默认是按照字符编码顺序进行的排序(记得将数组的元素变为字符串);
如果是数组对象进行排序,sort里就得是函数,要比较两个值,然后返回两个值相对顺序的数字(上边案例);
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。