sort()方法用于对数组进行排序并返回数组。默认根据字符串Unicode码进行升序排序。sort()方法会在每一项上调用String()转型函数,即使是number类型,也会将其转换成字符串再比较。如果想按照其他标准排序,就需要提供比较函数,作为sort()方法的参数。模拟sort()方法的内部实现:

比较函数fn()的返回值:
①返回值小于0,交换位置
②返回值大于等于0,不交换位置
示例:
1.未传入参数时:
var arr = [2,15,8,11,7,112,4];
console.log(arr.sort()); // [11,112,15,2,4,7,8]
2.比较函数,接收两个参数
function compare(val1,val2) {
if(val1<val2) {
return -1;
} else if(val1 > val2) {
return 1;
}else{
return 0;
}
}
var arr = [2,15,8,11,7,4];
console.log(arr.sort(compare)); // [2,4,7,8,11,15]
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



