javascript对数组的排序

JavaScript016

javascript对数组的排序,第1张

其实这个函数只是一个形式,如果定义成这样:

function sortNumber(b,a){

return b-a

}

排序出来也是升序的。其与

function sorNumber(a,b){

return a-b

}

的效果是一样的。

也就是说对于这个传入的函数,如果返回用第一个参数减去第二个参数,那么是升序排列;

如果返回用第二个参数减去第一个参数,那么是降序排列。

如果不传入函数,那么是按照字符串的字典顺序升序排列。

javascript的数组有sort方法。按照数值的大小对数字进行排序,必须使用一个排序函数:a代表数组的前一位,b代表数组的后一位。

var arr = [1,2,3,5,2,5,3,6,2,6,2,6,2,5,9,6,8,54,3,6,8]

arr.sort(function(a,b){return a-b})

这样是升序排列。

如果希望降序排列,就写成return b-a;

var arr=[12,9,2,31,11,23,17]

var arr1=new array()//奇数

var arr2=new array()//偶数

for(var i=0i<arr.lengthi++)

{

if(arr[i]%2==1)

{

arr1.add(arr[i])

}

else

{arr2.add(arr[i])}

}

arr1.sort(function(a,b){

return a-b})

arr2.sort(function(a,b){

return b-a})

arr=arr1.concat(arr2)