世界杯举办地_世界杯预选赛巴西 - emsxbc.com

jQuery数组排序

情况一:

ar nums = ['12','2','5','36','4'];

$('#show7').html(nums.join('
'));

nums = nums.sort();

$('#show8').html(nums.join('
'));

情况二:

ar nums = ['12','2','5','36','4'];

$('#show7').html(nums.join('
'));

//定义了sort的比较函数

nums = nums.sort(function(a,b){

return a-b;

});

$('#show8').html(nums.join('
'));

情况三:

var arr = [

{name:'zopp',age:0},

{name:'gpp',age:18},

{name:'yjj',age:8}

];

function compare(property){

return function(a,b){

var value1 = a[property];

var value2 = b[property];

return value1 - value2;

}

}

console.log(arr.sort(compare('age')))

如何根据参数不同,来确定是升序排列,还是降序排序呢?

/**数组根据数组对象中的某个属性值进行排序的方法

* 使用例子:newArray.sort(sortBy('number',false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序

* @param attr 排序的属性 如number属性

* @param rev true表示升序排列,false降序排序

* */

sortBy: function(attr,rev){

//第二个参数没有传递 默认升序排列

if(rev == undefined){

rev = 1;

}else{

rev = (rev) ? 1 : -1;

}

return function(a,b){

a = a[attr];

b = b[attr];

if(a < b){

return rev * -1;

}

if(a > b){

return rev * 1;

}

return 0;

}

}