【发布时间】:2017-09-17 17:26:59
【问题描述】:
我有一个稍微复杂的循环:
angular.forEach($scope.days[i].trackers, function(key, value) {
angular.forEach(key, function(el, name) {
if(el.value != undefined) {
counter = counter + parseInt(el.value);
}
});
arr[value] = parseInt(arr[value]) + counter;
counter = 0;
});
我认为重要的一点是counter = counter + parseInt(el.value); 和arr[value] = parseInt(arr[value]) + counter;
value 是随机生成的密钥,但我需要存储所有 el.value 的 total,因此我将它们全部加起来并将它们分配给随机生成的密钥。
这有点像:
0:NaN
1:NaN
-KuBV9A1YKgp-WBNrZgx:NaN
-KuBV_8NjZ_cu1fB2j2z:NaN
-KuCiznaYshVFsrutc68:NaN
-KuCjTcy8CuV1zvJRyPm:NaN
-KuClWJqnRjnkNkXZ046:NaN
-KuClnc4I3FhMLLV8cf0:NaN
老实说,一开始我不知道那两个整数是什么..
无论如何,它会返回 NaN,但是如果我使用 arr[value] = counter; 而不是 arr[value] = parseInt(arr[value]) + counter; 它实际上会返回数字,但问题是它只是相互覆盖并且不会产生 total 它会产生最后一个 @ 987654331@
我有什么明显的遗漏吗?我真的需要一个总数或数字总和..有什么想法吗?谢谢!
编辑:
$scope.days[i].trackers 看起来像这样:
trackers
-KuBV9A1YKgp-WBNrZgx
-KuFEv1AiaHwur--Al_K
note: "Pizza"
value: "400"
-KuFF-N41Oh6Y5zDTpc6
note: "Jam"
value: "200"
-KuBV_8NjZ_cu1fB2j2z
-KuFF3S3Jr9QSlUSvjqB
note: "Morning"
value: "150"
...etc
【问题讨论】:
-
你能分享
days[i].trackers的数据结构吗? -
@NafiulIslam 在编辑中添加
标签: javascript angularjs loops for-loop foreach