在有些Web前端应用中,需要把接口返回的对象数组按照对象的某个属性进行排序,然后再渲染显示。这里就需要用到数组的sort接口。
闲话少叙,我们看代码:
vardata =[{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){varvalue1 =object1[propertyName];varvalue2 =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);
是不是很简单哦!