在有些Web前端应用中,需要把接口返回的对象数组按照对象的某个属性进行排序,然后再渲染显示。这里就需要用到数组的sort接口。
闲话少叙,我们看代码:
var data = [{
name : "jiang",
age : 22
}, {
name : "pander",
age : 21
}, {
name : "krome",
age : 25
},
{
name : "Koges",
age : 20
},];
要对这个数组进行排序,可以按照age或name属性排序,核心工作是实现一个排序函数:
function compare( propertyName) {
return function( object1, object2) {
var value1 = object1[propertyName];
var value2 = object2[propertyName];
if (value2 < value1) {
return 1;
} else if (value2 > value1) {
return - 1;
} else {
return 0;
}
}
}
这是sort接口要求的函数格式,我们照着实现就行了,我们这里对比的是对象的某个属性。
写好后,就可以按照如下方法排序了:
//按age排序
data. sort( compare( "age"));
console. log(data);
//按name排序
data. sort( compare( "name"));
console. log(data);
是不是很简单哦!