在数组中添加值会打印值,并且不会添加到Angular中

时间:2016-02-01 22:32:06

标签: javascript angularjs

我试图在数组中添加一些值,但不是输出总和,而是打印彼此相邻的2个值。

我的数组是:

$scope.values = [
  {amount: 5},
  {amount: 5}
]

我的功能是:

$scope.total = function() {
    var total = 0;
    angular.forEach($scope.values, function(item) {
        total += item.amount;
    })
    return total;
}

当我致电{{ amountRemaining() }}时,它会显示" 55"而不是10。

当我将另一个对象推送到值为6的数组时,它会显示" 556"。

要添加的另一个注意事项是,当我调用{{values}}时,它会将5放在""中,我认为这是罪魁祸首。

"amount":"05"

我如何确保数字是整数?

1 个答案:

答案 0 :(得分:2)

你应该明确强制它。

total += Number(item.amount);

total += parseInt(item.amount);

后者将努力从参数中提取任何有效数字,第一个将检查它是否为数字并解析它或是NaN。