我有这样的数组。
$scope.addit=[{name:'A',amt:0},{name:'B',amt:0},{name:'C',amt:10},{name:'D',amt:100}];
$scope.TSUM = 100;
var total_Add = 0;
var amnt =0;
angular.forEach($scope.addit, function(item) {
if(item.name == 'A'){
amnt = $scope.TSUM;
}
else if(item.name == 'B'){
amnt = $scope.TSUM + 10;
}
else if(item.name != 'A' && item.name != 'B' ){
amnt = item.amount;
}
total_Add = total_Add+amnt;
})
我的代码应该返回总和。但在这里它是连接所有价值观。 我得像10011010100。
请帮帮我。添加item.amount时会出现问题。
答案 0 :(得分:0)
+
用于javascript中的连接,因此要添加,您必须使用eval()
所以编写代码如下
amnt = eval($scope.TSUM +"+ 10");
所以它看起来像
amnt = eval("20 + 10");
答案 1 :(得分:0)
您可以使用parserInt
或parseFloat
amnt = parserInt($scope.TSUM) + 10;
答案 2 :(得分:-1)
var total_Add = 0;
var amnt =0;
angular.forEach($scope.addit, function(item) {
if(item.name == 'A'){
amnt = $scope.TSUM;
}
else if(item.name == 'B'){
amnt = $scope.TSUM + 10;
}
else if(item.name != 'A' && item.name != 'B' ){
amnt = eval(item.amount);
}
total_Add = total_Add+amnt;
})