function compare(value1,value2){ if(value1<value2){ return -1; }else if(value1>value2){ return 1; }else{ return 0; } } var test=[0,1,4,5,15,6,4]; var result=test.sort(compare); console.log(result);
1 回答
IvanAstrochicha
TA贡献2条经验 获得超1个赞
sort()其实是冒泡排序的,把数组的内容转变为字符,相邻数组元素两两按照ASCII码进行比较,第一次比较ASCII最大的数组元素最在数组末端,第二次第二大的数组元素排在array.length-2位置,依此类推进行排序。
但是,你上面的例子,输出的结果并不是想象中的,因为转变为字符排序,并不是数字排序,可以在compare方法中对value1和value2进行parseInt()转变即可。
添加回答
举报
0/150
提交
取消