数组对象按某个属性排序 sort方法

先看代码

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 的值。
原文地址:https://www.cnblogs.com/chaojimali/p/13716491.html