У меня такой массив.Сумма в угловой петле js
$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.
thanku так много ... Eval решает мою проблему – athi
почему вниз голосование ?? –
Действительно, '+' используется для конкатенации, но только со строками. Когда мы работаем с числовыми переменными, для добавления используется '+'. Также 'eval' is evil https://stackoverflow.com/questions/197769/when-is-javascripts-eval-not-evil – andale