<script>
var arr = [2,3,1,23];
arr.sort(comparison);
alert(arr.toString());
function comparison(value1,value2){
if(value1 < value2){
return -1;
}
else if(value1 > value2){
return 1;
}
else{
return 0;
}
}
</script>
希望可以解释的清楚点 谢谢 我不明白为什么这样可以移动位置 sort执行过程是怎么样的呢?
-1 表示 逻辑上所比较的对象 A<B
0 表示 逻辑上所比较的对象 A=B
1 表示 逻辑上所比较的对象 A>B
sort根据返回值判断数组中两个元素的大小,来进行排序。
如果数组元素是对象的话,对象原本不能比较,
但可以通过指定比较对象的某个属性,obj1.x, obj2.x 或者更复杂的逻辑操作,表示对象的大小
只要按不同情况返回这三个值,sort就会根据此比较来对对象进行排序。