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

1 javascript arrays object underscore.js angularjs

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

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

$scope.materials = []

var Material = function(materialName) {

    this.name = materialName;

    $scope.materials.push(this);



}

_.sortBy($scope.materials, function(object){
    return object.name; 
    });
Run Code Online (Sandbox Code Playgroud)

// ==========下面是我推送到数组中的一些对象(我打算稍后为它们添加更多属性,除了'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')
Run Code Online (Sandbox Code Playgroud)

man*_*mat 5

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

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