尝试使用_.sortBy方法对对象数组进行排序

时间:2015-10-01 02:14:11

标签: javascript arrays angularjs object underscore.js

我已经尝试了我能找到的所有解决方案,但没有任何工作。

我有一个对象数组,在HTML中是一个下拉菜单。我无法理解它。这是我的代码:

$scope.materials = []

var Material = function(materialName) {

    this.name = materialName;

    $scope.materials.push(this);



}

_.sortBy($scope.materials, function(object){
    return object.name; 
    });

// ==========下面是我推送到数组中的一些对象(我打算稍后为它们添加更多属性,除了'name'==== ============ //

var pipeCleaners = new Material ('pipe cleaners')
var glitter = new Material ('glitter')
var pomPoms = new Material (' pom poms')
var feathers = new Material ('feathers')
var cottonBalls = new Material ('cotton balls')

1 个答案:

答案 0 :(得分:5)

sortBy不修改数组,实际上你必须将返回的sortBy数组赋值给变量。

var x = _.sortBy([1, 2, 3], function(n) {
  return Math.sin(n);
});
console.log(x); // [3, 1, 2]