js sort()对指定数组排序

sort()的排序规则是通过数组内容的第一位内容的字符编码进行排序(如果第一位相同就看第二位以此规律类推)

可以通过字符串的charCodeAt()来查看指定字符串的字符编码

1、对数组内容从小到大排序

var arr1=[1,5,8,3,9];
console.log(arr1.sort());//[1, 3, 5, 8, 9]
/*对负数有局限性,最好使用函数传参返回值进行比较*/
/*例:var arr1=[-2,-11,1,5,8,3,9,-99];
console.log(arr1.sort());[-11, -2, -99, 1, 3, 5, 8, 9]*/


var arr2=['ab','b','d','s','ac'];
console.log(arr2.sort());//['ab', 'ac', 'b', 'd', 's']
var arr=['赵','钱','孙','李'];
console.log(arr.sort());//['孙', '李', '赵', '钱']

2、sort()通过传递函数的方式,在通过返回函数参数相减顺序来获得新的排列顺序

var arr1=[-11,-99,0,1,3,7,-2];
console.log(arr1.sort(function(a,b){return a-b}));//[-99, -11, -2, 0, 1, 3, 7]从小到大排序(前-后)
console.log(arr1.sort(function(a,b){return b-a}));//[7, 3, 1, 0, -2, -11, -99]从大到小排序(后-前)

//对非数字进行排序
var arr2=['赵','钱','孙','李'];
console.log(arr2.sort(function(a,b){return a.charCodeAt()-b.charCodeAt();}));//['孙', '李', '赵', '钱']从小到大排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值