sort方法
数组sort方法在不传递参数的情况下会调用toString()转型方法,然后比较得到的字符串,以确定如何排序。
上面这段话摘自高程三中对sort的描述,更直白点:不传递参数是按照字符编码表的顺序进行排序的:
var arr = [12,10,8,7,20,11]; arr.sort(); console.log(arr); // [10,11,12,20,7,8];
sort方法可以接收一个比较函数作为参数,比较函数接收两个参数:
如果第一个参数应该位于第二个之前则返回一个负数
如果两个参数相等则返回0,
如果第一个参数应该位于第二个之后则返回一个正数
var log = console.log.bind("console");
var arr = [12,10,8,7,20,11];
function compare (value1,value2) {
if(value1 < value2) {
return -1;
} else if(value1 > value2) {
return 1;
} else {
return 0;
}
}
log(arr.sort(compare)); // [7,8,10,11,12,20]

浙公网安备 33010602011771号