javascript - 使用 AngularJS 从数组中添加值

标签 javascript angularjs addition

table

使用 javascript 和 AngularJS,我将如何将 Hours 值添加到变量中。我尝试过我所知道的简单 JS(知识有限,还是初学者),但没有成功。

    <table class="table table-condensed table-striped table-hover">
                                                    <thead>
                                                        <tr>
                                                            <!--<td></td>-->
                                                            <td><a href="" ng-click="predicate= 'UserName'; reverse=!reverse">Employee <i class="fa fa-sort"></i></a></td>
                                                            <td><a href="" ng-click="predicate= 'TotalHours'; reverse=!reverse">Hours <i class="fa fa-sort"></i></a></td>
                                                            <td><a href="" ng-click="predicate= 'Date'; reverse=!reverse">Date <i class="fa fa-sort"></i></a></td>
                                                        </tr>
                                                    </thead>
                                                    <tbody>
                                                        <tr ng-repeat="jobhour in jobHours | orderBy:predicate:reverse">
                                                            <!--<td>{{$index + 1}}</td>-->
                                                            <td>{{jobhour.UserName}}</td>
                                                            <td>{{jobhour.AdminHours*1 + jobhour.FieldHours*1 + jobhour.OtherHours*1 + jobhour.TravelHours*1 | number:2}}</td>
                                                            <td>{{jobhour.Date | date:medium}}</td>
                                                        </tr>
                                                    </tbody>
                                                </table>

上面是表格上 ng-repeat 的代码,您会看到我已经在该列中添加了几个值(这可能就是为什么我不确定是否有一种简单的方法来解决这个问题)。我试图获取的 TOTAL 值只不过是一个简单的 UI 通知。我想将此“总和”放入上面“总小时数”旁边的标签中:

此特定代码的答案:

这就是我最终所做的并且工作完美。感谢您的帮助。

    function addArr(arr){
        var val = 0;
        for (var i = 0; i < arr.length; i++) {
            val += parseFloat(arr[i].AdminHours || 0) + parseFloat(arr[i].FieldHours || 0) + parseFloat(arr[i].TravelHours || 0) + parseFloat(arr[i].OtherHours || 0);
            //val += arr[i].AdminHours + arr[i].FieldHours + arr[i].TravelHours + arr[i].OtherHours;
        }
        $scope.totalHours = val;
    }

最佳答案

Controller 上有一个函数,该函数循环遍历数组并将值相加,然后返回值。像这样的事情

var addArr = function(arr){
  var val = 0;
  for(var i = 0; i < arr.length; i++){
    val += arr[i];
  }
  return val;
}

$scope.val = addArr(theArray);

这就是我最终所做的并且工作完美。感谢您的帮助。

    function addArr(arr){
        var val = 0;
        for (var i = 0; i < arr.length; i++) {
            val += parseFloat(arr[i].AdminHours || 0) + parseFloat(arr[i].FieldHours || 0) + parseFloat(arr[i].TravelHours || 0) + parseFloat(arr[i].OtherHours || 0);
            //val += arr[i].AdminHours + arr[i].FieldHours + arr[i].TravelHours + arr[i].OtherHours;
        }
        $scope.totalHours = val;
    }

关于javascript - 使用 AngularJS 从数组中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23728302/

相关文章:

javascript - 使用 RegEx 删除空标签

java - ArrayList 列表在不应该的情况下被更改

node.js - 带 Sequelize 的加法和减法赋值运算符

javascript - 重新加载页面时如何保持所选选项卡打开

javascript - 获取 Javascript 中所有当前按下的键的列表

javascript - 修改字符串中的 "a"标签并在javascript函数中返回更新后的字符串

javascript - $watchCollection() 嵌套数组

java - 为什么我无法更新sqlite数据库的值

javascript - 在javascript中设置父节点

javascript - AngularJS 表单转 JSON