JavaScript Array sort() 方法(学习笔记)

sort方法用于数组排序,默认按字母升序。对字符串排序时,Apple在Banana前,25在100前(按字符串处理)。为正确排序数字,需提供比较函数。示例中展示了字符串和数字的排序方法,比较函数返回负值、零或正值以决定排序顺序。

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

一、定义和用法

sort() 方法对数组的项目进行排序。
排序顺序可以是按字母或数字,也可以是升序(向上)或降序(向下)。
默认情况下,sort() 方法将按字母和升序将值作为字符串进行排序。
这适用于字符串(“Apple” 出现在 “Banana” 之前、"AAAAb"出现在"AAAAa"之后)。
如果数字按字符串排序,则 “25” 大于 “100” ,因为 “2” 大于 “1”。
正因为如此,sort() 方法在对数字进行排序时会产生不正确的结果(此时需要用function去作为判定依据)。

注释:sort() 方法会改变原始数组。

二、使用

1.对字符串比较:

HTML代码:

<div id="result"></div>

<script>
const list = ["BBBBba", "BBBBaa", "Abbbbb", "Bcaaa", "Baccc"];
document.getElementById("result").innerHTML = list.sort();
</script>

运行结果:

Abbbbb,BBBBaa,BBBBba,Baccc,Bcaaa

2.对数字进行比较(按升序)

HTML代码:

<div id="result"></div>

<script>
const list = [49, 81, 1, 8, 26, 12];
list.sort(function(a, b){
	return a-b;
});
document.getElementById("result").innerHTML = list;
</script>

运行结果:

1,8,12,26,49,81

对于function的返回值,sort() 方法会将function的两个值作比较,将值发送给比较函数,根据返回的(负、零、正)值对值进行排序。若返回的是负值,则sort判定a是比b小的值(零则判断为相等,正值为a比b大)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值