在项目中,需要根据特定字段的值给对象数组排序。比如有一个对象数组,其中每一项包含门店经营的数据,如销售额,客单数,利润等。这里需要根据销售额,客单数,利润排序。如下图所示
代码如下:
var sortDatas = [{forderqty:"220",profit:"-47.17",totalsaleamt:"3571.01"}, {forderqty:"139",profit:"-1325.71",totalsaleamt:"3165.77"}, {forderqty:"51",profit:"-413.97",totalsaleamt:"1283.27"}, {forderqty:"1",profit:"5.5",totalsaleamt:"36"} ] function createComparisonFunctionByProperty(propertyName) { //根据指定属性名的值,按照升序排序 return function(object1, object2){ var value1 = parseFloat(object1[propertyName]); var value2 = parseFloat(object2[propertyName]); if (value1 < value2){ return -1; } else if (value1 > value2){ return 1; } else{ return 0; } }; } console.log(sortDatas.sort(createComparisonFunctionByProperty("forderqty"))); console.log(sortDatas.sort(createComparisonFunctionByProperty("profit"))); console.log(sortDatas.sort(createComparisonFunctionByProperty("totalsaleamt")));