js实现字符串中包含字母和数字的排序

最近在做项目的时候对对象中的内容进行排序,一开始使用的方案一的时候因为测试的时候都是单个字母和单个数字,测试的时候没有测试单个字母和多位数字的排序,后面排序的时候出现混乱的情况;后面改用方案二的时候就解决了这个问题,示例如下。

  • 方案一

arr.sort(function (a, b) {

if(typeof a === "object" && typeof b === "object" && a && b){

var value1 = a.text;

var value2 = b.text;

if (value1 === value2) {

return 0;

}

if(typeof value1 === typeof value2){

return value1 < value2 ? -1 : 1;

}

}

})

  • 方案二

使用localeCompare完美解决

arr.sort(function(a, b) {

return a.text.localeCompare(b.text, 'zh-CN', { numeric: true })

})

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值