如果在Angularjs中某些行值不可用,如何求和列值的总和?

时间:2016-11-01 07:05:37

标签: html css angularjs meanjs

我在我的应用程序中使用MEAN堆栈,将AngularJS作为我的前端。如何total sum列值,如果表格中没有某个行值,实际上我得到total sum value但是sum_row值不可用〜总计显示为NaN .. 。My Plunker 例如: - 在表中所有行值都可用意味着amt值总和答案我得到5775.30,然后在表中如果某个行值不可用则表示{ {1}}总值显示为amount payment,期待答案如NaN,如果有人知道解决方案对我们有帮助,谢谢....

  • 在表格列中,所有值都可用,我们也得到了确切的答案和总和。

  • 但是在表格中,单行值200不可用意味着总和值显示为amount payment ...所以我们期望如果某些行值不是可用总金额应计算其余值...期待NaN答案如200 ...请查看my plunker

我的控制器: -

amount payment

我的Html: -

    .filter('sumOfValue', function () {
    return function (data, key) {
        debugger;
        if (angular.isUndefined(data) && angular.isUndefined(key))
            return 0;        
        var sum = 0;

        angular.forEach(data,function(v,k){
            sum = sum + parseFloat(v[key]);
        });        
        return sum.toFixed(2);
    }
})

我的数据:

<td >{{mani.amt}}</td>

  <td >{{mani.amount_payment }}</td>

我创建了Plunker作为参考: - Plunker

2 个答案:

答案 0 :(得分:0)

如果值不是有效数字,方法parseFloat()将返回NaN。所以你得到的结果是NaN。跳过所有无效值。以下示例。希望这会有所帮助。

udefined

答案 1 :(得分:0)

更改了您的一些代码:检查javascript的isNAN功能

angular.forEach(data,function(v,k){

  var keyval;
  if(isNaN(parseFloat(v[key])))
  keyval=0;
  else
  keyval=parseFloat(v[key]);
  sum = sum + keyval;
});