正在计算数组中的总数

Calculating total in a array

本文关键字:数组 计算      更新时间:2023-09-26

我在计算数组中的总数时遇到问题。当一个新的值被添加到数组中时,应该在视图中更新总数,但我得到了一个未定义的错误。

var bowlingApp = angular.module('bowlingApp', []);

//Add bowling points to score
  bowlingApp.controller('bowlPoints', function ($scope){
    $scope.bowlPoints = []

    $scope.addBowlPoints = function() {
        if ($scope.bowlPoints.length  < 10) {
            $scope.bowlPoints.push($scope.enteredPoints);
        }
        else {
            alert("Thanks for playing");
        }
    };
  $scope.total = function() {
    var total = 0;
    if (scope.bowlPoints < 300) {
    for(var i=0; i < $scope.bowlPoints.length; i++) {
      total += $scope.bowlPoints[i].amount;
    }
    return total;
    };
    };
});

如果您在类似Chrome的JavaScript控制台中单击错误消息,您应该能够准确地看到错误发生的位置。

未定义的错误通常是试图访问对象本身未定义的属性的结果。例如,正如erdomke所说,如果$scope.enteredPoints没有属性金额,那么$scope.bowlPoints[i].amount会给你一个未定义的错误。

希望这能有所帮助。我真的建议使用网络浏览器JavaScript控制台来调试你的代码,这会让事情变得更容易。

的用途

if (scope.bowlPoints < 300) {

有没有可能在不加上.length的情况下以这种间接的方式获得数组的值或长度?这里jsbin的例子当然没有angular,只有javascript。也许对你有帮助;-)