我想我误解了应该在这里发生的事情。我试图通过author属性对它们进行排序。这只是一个简短的例子,表明我的困惑,我尝试排序的实际对象要大得多。
var arr = [ {
author: "john"
},{
author: "ben"
},{
author: "apple"
}];
var sortActivities = function (attr, arr) {
arr = _.sortBy(arr, function(elem){
return elem[attr];
});
};
console.log(arr);
sortActivities("author", arr);
console.log(arr);
我希望" apple"在排序后成为数组中的第一个。请让我知道我在这里做错了什么。
答案 0 :(得分:1)
在你的情况下" arr"是按值传递的,所以如果你想得到排序的数组,你需要返回它。
例如,关注您的代码:
var sortActivities = function (attr, arr) {
return _.sortBy(arr, function(elem){
return elem[attr];
});
};
console.log(arr);
arr = sortActivities("author", arr);
console.log(arr);
希望它有所帮助。