【发布时间】:2012-08-11 07:59:15
【问题描述】:
以下是按某些属性对对象数组进行排序的函数。
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}]'
数字有什么问题?
【问题讨论】:
-
在比较函数中,
val2=obj1[propertyName]是拼写错误,还是实际上在您的代码中?
标签: javascript string numbers sorting