【发布时间】:2015-10-25 14:32:11
【问题描述】:
我很确定有更好的方法来做到这一点。在下面的代码中,我试图在 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的项目的数量。
【问题讨论】:
-
这看起来像是一个可怕的维护问题,因为阅读它没有意义。为什么不简单地遍历原始数组并更改值?
-
你能提供想要的输入和想要的输出吗?
-
现在你改变了整个问题。那是不对的!不要再把问题变成一个移动的目标,也不要让基于你最初拥有的答案无效。
-
是的,这个问题甚至不再有意义...您谈论的是
=与==但现在您将其更改为+=...再一次,您没有你正在做的事情不需要 lodash。只需使用普通的 JS。 -
现在投票结束,因为这个问题没有任何意义。描述和代码不匹配
标签: javascript angularjs lodash