JavaScript根据字段值排序方法

在项目中,需要根据特定字段的值给对象数组排序。比如有一个对象数组,其中每一项包含门店经营的数据,如销售额,客单数,利润等。这里需要根据销售额,客单数,利润排序。如下图所示


代码如下:

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")));


猜你喜欢

转载自blog.csdn.net/qq_20567691/article/details/80212364