js中sort()的使用

数组排序sort方法的使用

在普通的数字数组中使用:

sort(function(a,b) {
    
    
	return a-b // 升序
	// return b-a // 降序
})

let ary = [5,6,8,0,4]
console.log(ary.sort((a,b) => b-a))
// [ 8, 6, 5, 4, 0 ]

如果数组的元素不是普通的数字,而是对象,我们需要根据对象的某个属性值大小进行数组排序:

let arr = [
  {
    
     id: 1,
    date: 12,
    hobby: {
    
    
      num: 8
    }
  },
  {
    
    
    id: 2,
    date: 22,
    hobby: {
    
    
      num: 99
    }
  },
  {
    
    
    id: 3,
    date: 99,
    hobby: {
    
    
      num: 18
    }
  },
  {
    
    
    id: 4,
    date: 8,
    hobby: {
    
    
      num: 5
    }
  }
]
// 根据arr数组中的每一项的date大小排序
arr.sort((a,b) => b.date - a.date) // 降序
console.log(arr)
/* [ { id: 3, date: 99, hobby: { num: 18 } },
  { id: 2, date: 22, hobby: { num: 99 } },
  { id: 1, date: 12, hobby: { num: 8 } },
  { id: 4, date: 8, hobby: { num: 5 } } ]
*/

// 根据arr数组中元素的hobby对象的num属性值大小排序
arr.sort((a,b) => b.hobby.num - a.hobby.num)
console.log(arr)
/*[ { id: 2, date: 22, hobby: { num: 99 } },
  { id: 3, date: 99, hobby: { num: 18 } },
  { id: 1, date: 12, hobby: { num: 8 } },
  { id: 4, date: 8, hobby: { num: 5 } } ]
*/

总结 : 万变不离其宗

猜你喜欢

转载自blog.csdn.net/m0_47454283/article/details/107228118
今日推荐