关于给数字排序,大家应该都用过原生JS里的sort()方法;只需要把需要排序的数据添加到一个数组里,然后使用sort()方法即可,如:
var arr = [ 0,1,2,3,4,10 ];
arr.sort();
打印一下结果 console.log(arr); --> [0,1,10,2,3,4,]
可以发现此方法只是把数组内数据的首字按大小排序了,并不是我们想要的结果,
如果想按照数字大小排序,可以给此方法传一个参数;
function sortNum ( a,b) {
return a-b; //若需要从大到小排序,将a-b改为b-a;
}
arr.sort( sortNum );//将函数名作为参数传入即可;
打印结果为: console.log(arr); --> [0,1,2,3,4,10];
拓展:
var arr1 = [ a:0,b:1,c:2,d:3,e:4,f:10 ];
这种数组如何排序呢?
刚开始我想的是arr[1].sort( sortNum );
后来发现是不行的;
于是把参数函数改成这样:
function sortNum1 ( a,b) {
return a[1]-b[1];
}
arr1.sort( sortNum1 );
发现,可以了。