sort()会调用toString()方法将数组中的每一项转化成字符串,然后进行比较 (即使数组中的每一项是number类型)
因此sort方法可以接受一个比较函数作为参数,以便于我们指定那个值位于那个值前面
var arr1=[0,1,5,10,25]
var arr2=[1,2,5,10,30]
// 升序
function ascendingSequence(val1,val2){
if(val1<val2){
return -1;
}else if(val1>val2){
return 1;
}else{
return 0
}
}
// 降序
function descendingSequence(val1,val2){
if(val1<val2){
return 1;
}else if(val1>val2){
return -1
}else{
return 0
}
}
arr1.sort(ascendingSequence);
arr2.sort(descendingSequence)
/*
[ 0, 1, 5, 10, 25 ]
[ 30, 10, 5, 2, 1 ]
[Finished in 0.4s]
*/