数组排序? 让我康康~

本文详细探讨了JavaScript中Array.prototype.sort()方法的使用,通过实例解析了如何进行升序和降序排序。不仅适用于数值数组,还展示了对对象数组根据特定属性进行排序的方法。通过对sort比较函数的理解,读者可以更好地掌握JavaScript排序的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只有需要,才会研究

之前对于sort排序的了解,不能说是一窍不通,但也差不多是一知半解。
现有需求需要进行排序操作,索性细细研究并加以记录,以便后续翻阅查找。

之前遇到的排序需求很简单,对一个数值型数组进行排序,So easy~。

sort语法格式为:

Array.prototype.sort( compareFunction )
compareFunction( first, second )

其比较函数包含有两个将要被比较的元素:

  • first: 第一个用于比较的元素
  • second: 第二个用于比较的元素
  • 两者相比较,决定排序方式

如果 first - second 小于 0 ,那么 first 会被排列到 second之前;
如果 first - second 等于 0 ,那么 first 与 second位置不变;
如果 first - second 大于 0 ,那么 second 会被排列到 first之前;

上述是改编于 【MDN讲解sort】

eg 1:

let list = [1,3,5,7,9,2,4,6,8,0]

// 升序排序
list.sort( (a, b)=> a - b )
console.log(list) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

// 降序排序
list.sort( (a, b)=> b - a )
console.log(list) // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

eg 2:

let objArr = [{ id:1, name:'小李', age:30}, { id:2, name:'小闫', age:10}, {id:3, name:'小小李', age:18}, {id:4, name:'小小闫', age:16}]
// 升序排序
objArr.sort( (a, b)=> a.age - b.age )

在这里插入图片描述


let objArr = [{ id:1, name:'小李', age:30}, { id:2, name:'小闫', age:10}, {id:3, name:'小小李', age:18}, {id:4, name:'小小闫', age:16}]
// 降序排序
objArr.sort( (a, b)=> b.age - a.age )

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值