javascript:通过递增 objectKeys 值来更新对象
javascript: updating Object by incrementing objectKeys value
我正在尝试制作一个对象,其中键是年数,值是金额
yearlyCost = {"2016":0,"2017":0,"2018":0,"2019":0} //year(key):amount(value)
我在视图中有一个输入字段,可以让我制作新的金额,每次我添加不同的 addLocalCostContributor 时,它会检查条件是否匹配,金额将被添加到年份中。
function addLocalCostContributor(localCost, year) {
localCost.contributors.push({});
for(var i=0; i < localCost.contributors.length;i++ ) {
if(angular.isDefined(localCost.contributors[i].contributor) && localCost.contributors[i].contributor.name ==='Agriterra') {
vm.argiterraYearlyLocalCost[year] = localCost.contributors[i].amount;
}
}
}
问题是,每当添加新金额并满足条件时,我希望年份增加该金额。因此,如果年份"2016"获得新金额,则应将金额添加到键"2016"中,而不是替换它。
如果有更好的方法来保存年度金额并更新它,我愿意接受它。
使用 +=
:
vm.argiterraYearlyLocalCost[year] += localCost.contributors[i].amount;
事实上,只是为了确保密钥在特定年份存在:
if(vm.argiterraYearlyLocalCost.hasOwnProperty(year)) {
vm.argiterraYearlyLocalCost[year] += localCost.contributors[i].amount;
}
else {
vm.argiterraYearlyLocalCost[year] = localCost.contributors[i].amount;
}
相关文章:
- 如何在 Firebase 的 Angular-Fire 中使用 $save() 来更新对象属性值
- Expressjs&集合中的MongoDB更新对象's数组
- Physijs更新对象质量
- 如何使用setAttribute更新对象中的一个值
- 在分析中创建或更新对象
- 从knockout.js中的下拉列表更新对象
- Grails richui自动完成将对象传递给函数或更新对象ID
- 我正在使用 $scope.$apply 在 http 调用后更新对象数组.谁能告诉我正确的方法
- 如何使用 AngularJS 根据选择更改更新对象数组
- 从新对象的属性更新对象的属性,但前提是新对象上的属性不是未定义的
- 角度.js从NG重复更新对象数据
- 删除 JavaScript 中的重复代码;更新对象传递到函数中
- javascript:通过递增 objectKeys 值来更新对象
- 根据输入更新对象数组
- 想要在回调中更新对象,给出正确的日志,但全局对象未更新
- 流星:如果值等于 X,则更新对象 1,否则更新对象 2
- 如何在 Javascript 中更新对象数组中每个对象的值
- 嵌套的 ng-repeat 不会更新对象
- 使用从 MongoDB 获取的新数据更新对象属性
- 按 $parent.$index 和$index更新对象$scope项