我想得到我的数组的总和,我使用angular.foreach但是当我运行程序时它会一直显示“语法错误”。怎么了?错误说是在var sum += value.fare;
我认为我的语法正确所以我想知道为什么我得到语法错误谢谢
我的代码是:
angular.forEach($scope.ticketList[fare], function(value, key){
var sum += value.fare;
console.log(sum);
//alert(i);
});
答案 0 :(得分:1)
尝试:
var sum;
angular.forEach($scope.ticketList, function(value, key){
sum += value.fare;
});
如果这无效,我们需要查看您的$scope.ticketList
。
答案 1 :(得分:1)
您正在执行+=
这意味着左侧应该是值,但您每次使用关键字var
再次定义它,因此语法错误。
在外面定义sum
,然后执行:
var sum = 0;
angular.forEach($scope.ticketList[fare], function(value, key){
sum += value.fare;
console.log(sum);
//alert(i);
});
答案 2 :(得分:1)
不应该在外面声明的var sum不能用赋值来定义: - )
var sum;
angular.forEach($scope.ticketList, function(value, key){
sum += value.fare;
})
答案 3 :(得分:1)
你需要:
现在您的代码应该可以运行:
var sum = 0;
angular.forEach($scope.ticketList[fare], function(value, key){
sum += value.fare;
});
console.log(sum);
在你的代码中,每个循环迭代都声明了sum,所以它的值没有转发到下一个循环迭代。在forEach之外提取它的声明将确保在循环结束后保留您的值。
答案 4 :(得分:1)
您必须在sum
方法之外定义forEach
,因为它不知道如何在第一次迭代期间求和(初始化时总和为null
,所以你首先将value.fare
添加到null
。尝试:
var sum = 0;
angular.forEach($scope.ticketList[fare], function(value, key){
sum += value.fare;
});
答案 5 :(得分:1)
首先在foreach循环外声明变量sum
var sum;
angular.forEach($scope.ticketList, function(value, key){
sum=sum+value.fare;
})