对象数组按照指定属性排序实现

2019-07-30

有一个数组,包含多个对象,每个对象有多个属性,要按照指定的属性进行排序,如何实现呢?

function comp(propertyName){
	return function(object1,object2){
		var value1 = object1[propertyName];
		var value2 = object2[propertyName];
		if(value1 < value2){
                        return -1; 
                }else if(value1 > value2){
			return 1;
		}else{
			return 0;
		}
	}
}

var arr = [
	{name : "zhang", age : 28},
	{name : "wang", age : 30},
	{name : "li", age: 24}
]

arr.sort(comp("name"));
console.log(arr);

输出结果为:

发表评论

邮箱地址不会被公开。 必填项已用*标注