Array对象中的sort()方法是一个很高效的排序方法,用于对数组进行排序。其基本用法有两种:
1、不带参数
数组名.sort();
1
这种用法只适用于对英文字符串组成的数组按升序排序,结果在原数组中。
2、带参数
sort()方法的参数必须是一个函数,函数可以带一个或两个参数,表示数组的元素,返回值必须是正负零,表示数组元素相比较的办法。
数组名.sort( function(a,b){
return 正、负、零;
});
return 0和1时顺序不变
return -1时互换顺序
var arr = [1,5,3,7];
console.log(arr.sort(function(a,b){
console.log(arr)
console.log('____________')
console.log(a,b);
return a-b
}))
数组[ 1, 5, 3, 7 ]的排序顺序
1 5
[ 1, 5, 3, 7 ]
5 3
[ 1, 5, 5, 7 ]
1 3
[ 1, 3, 5, 7 ]
5 7
[ 1, 3, 5, 7 ]
function compare(num1,num2){
var a = num1 + "" + num2;
var b = num2 + "" + num1;
for(var i=0;i<a.length;i++){
if(a.charAt(i) > b.charAt(i)){
return 1;
}
if(a.charAt(i) < b.charAt(i)){
return -1;
}
}
return 1;
}
function PrintMinNumber(numbers) {
numbers.sort(compare);
var result = "";
for (var i = 0; i < numbers.length; i++) {
result = result + numbers[i];
}
return result;
}