各位运行这个代码
var data=[];
for(var i=0;i<10;i++){
data[i]=Math.floor(Math.random()*100);
}
//数组方法join用法
data.sort();
var t=data.join("<div ><br/></div>");
document.write(t);
//放到随便一个html网页里,你会发现并不是严格有序。
var data=[];
for(var i=0;i<10;i++){
data[i]=Math.floor(Math.random()*100);
}
//数组方法join用法
data.sort();
var t=data.join("<div ><br/></div>");
document.write(t);
//放到随便一个html网页里,你会发现并不是严格有序。
return a-b;
});
就是有序的了,sort() 默认排序 ,是转化为字符串再排序的。无论是什么类型都会转为字符串,再排序 。
自己传入一个比较函数就好 ,里面的那种就可以用来做数字行排序
var data=[];
for(var i=0;i<10;i++){
data[i]=Math.floor(Math.random()*100);
}
function compare(num1,num2){
if(num1>num2){
return 1;
}
if(num1=num2){
return 0;
}
else{
return -1;
}
} console.log(data.sort(compare));
</script>
sort()排序方法默认是以字典的方式(字符编码的形式)排序的,如果想比较两个数字的大小,需要加一个比较函数!