角度js循环中的和

时间:2016-07-29 10:11:15

标签: javascript php angularjs

我有这样的数组。

$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时会出现问题。

3 个答案:

答案 0 :(得分:0)

+用于javascript中的连接,因此要添加,您必须使用eval()

所以编写代码如下

 amnt = eval($scope.TSUM +"+ 10");

所以它看起来像

amnt = eval("20 + 10");

答案 1 :(得分:0)

您可以使用parserIntparseFloat

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;

    })