使用_.find设置数组内对象的属性值

时间:2015-10-25 14:32:12

标签: javascript angularjs lodash

我很确定有更好的方法可以做到这一点。在下面的代码中,我试图在selected_items数组中设置item对象的值。我发现使用'='而不是'=='返回找到的对象的更改版本(我发现在我的代码的其他部分有用的行为)。

这是个好主意吗?我真的想知道使用lodash做一个更干净的方法。

$scope.increase_item_quantity = function(item_pk, addition){
    if($scope.is_item_selected()){
        var item_quantity = $scope.get_item_quantity();
        if(!(item_quantity < 1 && addition == -1)){
            console.log('adding...')
            $scope.selected_items = _.result(_.find($scope.selected_items, function(item) {
                  return item.quantity = addition;
                }), 'quantity');
        }
    }
}

通过上述方法,我尝试设置具有特定ID的项目数量。

1 个答案:

答案 0 :(得分:3)

简单的香草js

$scope.selected_items.forEach(function(item){
     item.quantity = new_quantity;
});