以下是按某些属性对对象数组进行排序的函数。
function createCompareFunc(propertyName){
return function(obj1, obj2){
var val1=obj1[propertyName];
var val2=obj1[propertyName];
return val1-val2;
}
}
var data=[{name:'a', age:12},{name:'b',age:5}];
console.log(typeof data[0]['age']); //number
console.log(data.sort(createCompareFunc('name')));
//[Object{name="a", age=12},Object{name="b",age=5}]
console.log(data.sort(createCompareFunc('age')));
//[Object{name="a", age=12},Object{name="b",age=5}], but I want to get '[Object{name="b",age=5},Object{name="a", age=12}]'
数字有什么问题吗?
最佳答案
第 6 行输入错误 obj1 而不是 obj2。
关于javascript - 按属性对 JavaScript 对象数组进行排序时数字有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11913055/