filteredRoutersSummaries

filteredRoutersSummaries

我的以下代码有问题:

function getTotalChildAttr2(parent,child) {
           var res = 0;
           for (var i = 0, iMax = 2; i < iMax; i++) {
              angular.forEach(vm.filteredRoutersSummaries[i], function (summary) {
                res += summary[parent][child];
                });
           }
           console.log(vm.filteredRoutersSummaries);
           return res;
       }


基本上,问题在于,由于[i],res与每个vm.filteredRoutersSummaries相加,然后返回res,我想为每个vm.filteredRoutersSummaries返回res。
例如(如果vm.filteredRoutersSummaries是一个数组,但让我们想象它只是一个整数):

vm.filteredRoutersSummaries[0] = 10
vm.filteredRoutersSummaries[1] = 15


目前,我将获得返回的res = 25,那么我想要的是:
使用vm.filteredRoutersSummaries [0]的res = 10,使用vm.filteredRoutersSummaries [1]的res = 15。
(因为以后我做例子:

vm.routers[i].value = getTotalChildAttr2('real', 'value');


我可以通过在两个函数中做到这一点来实现(不使用for条件,而只需在第一个函数的angular.foreach中的vm.filteredRoutersSummaries中将i替换为0,在第二个函数中将i替换为1。
我真的不知道这是否很清楚,如果您有任何疑问,请不要介意问我! TY!

最佳答案

希望我能理解您的问题,但诚恳的是,目前还不清楚。

怎么样:

function getTotalChildAttr2(parent, child, index) {
    var res = 0;

    angular.forEach(vm.filteredRoutersSummaries[index], function (summary) {
            res += summary[parent][child];
    });

    console.log(vm.filteredRoutersSummaries);

    return res;
}


接着:

vm.routers[i].value = getTotalChildAttr2('real', 'value', i);


您可以吗?

关于javascript - Angular foreach结果相加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48765180/

10-12 15:15