JavaScript数组排序sort()
2021-06-04 06:02
标签:数组排序 直接 javascrip OLE 原因 字符串 简写 转换 字符 发现结果并不是想要的 JavaScript数组排序sort() 标签:数组排序 直接 javascrip OLE 原因 字符串 简写 转换 字符 原文地址:https://www.cnblogs.com/ITwj-115/p/14663418.html数组排序直接使用sort()
var values = [0,3,2,15,16,10];
//sort()排序 升序或者降序 默认升序
values.sort(); //[0, 10, 15, 16, 2, 3]
原因://比较时会转换成字符串 比较的是ASCLL编码
var a = ‘10‘;
a.charCodeAt(); // 49
var b = ‘3‘;
b.charCodeAt(); // 51
数组排序sort()的正确使用
var values = [0,3,2,15,16,10];
//升序
function compare1(a,b){
// a位于b之前
if(ab){
return 1;
}else{
return 0;
}
}
//降序
function compare2(a,b){
// a位于b之前
if(ab){
return -1;
}else{
return 0;
}
}
values.sort(compare1); //升序
console.log(values); //[0, 2, 3, 10, 15, 16]
values.sort(compare2); //降序
console.log(values); //[16, 15, 10, 3, 2, 0]
简写
var values = [0,3,2,15,16,10];
//升序
function compare1(a,b){
return a-b;
}
//降序
function compare2(a,b){
return b-a;
}
values.sort(compare1); //升序
console.log(values); //[0, 2, 3, 10, 15, 16]
values.sort(compare2); //降序
console.log(values); //[16, 15, 10, 3, 2, 0]
文章标题:JavaScript数组排序sort()
文章链接:http://soscw.com/index.php/essay/90267.html