计算整体重要性。 Angularjs

时间:2014-06-17 06:26:58

标签: javascript algorithm angularjs

考虑以下示例:http://jsfiddle.net/KWLu7/16/

我试图将总体重要性值计算为每个所选选项重要性的总和 乘以其父标准重要性

var watch = $scope.$watch("prioritizationProfile", function() {
    $scope.overallImportance = 0;

    for(var j = 0; j < $scope.prioritizationProfile.length; j++) {
        var criterionGroup = $scope.prioritizationProfile[j].criterionGroup;

        for(var i = 0; i < criterionGroup.length; i++) {

            var criterionChoices = criterionGroup[i].choices;

            for(var k = 0; k < criterionChoices.length; k++) {
                console.log(criterionChoices[k]);
                if(criterionChoices[k].selected) {
                    $scope.overallImportance += 
                        criterionChoices[i].importance * 
                        criterionGroup[i].importance;
                }
            }
        }
    }
}, true);

如果你尝试它,你会看到最大值总是22.我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您在prioritizationProfileWatch

的内部for循环中使用了错误的索引

更改

$scope.overallImportance += criterionChoices[i].importance * criterionGroup[i].importance;

$scope.overallImportance += criterionChoices[k].importance * criterionGroup[i].importance;