var arr = [2,10,6,9,7,8];
var arr1 = arr.sort();
var arr2 = arr.sort(function(a,b){
if (a>b){
return -1;
}else if(a<b){
return 1
}
});
alert(arr1);//10,9,8,7,6,2
alert(arr2);//10,9,8,7,6,2
alert(arr);//10,9,8,7,6,2
为什么arr1不是按照字符的unicode位点进行排序?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为
array.sort并不会返回新的数组,只是对array排序后返回array的引用,所以开始alert的时候arr1 === arr2 === arr。遇到问题先打个断点看看~
var arr1 = arr.sort();这一行执行完的时候arr1是按照字符的unicode位点进行排序的