Javascript 计算数组中的总数

Javascript 计算数组中的总数,javascript,Javascript,我无法计算数组中的总数。当一个新的值被添加到数组中时,应该在视图中更新总数,但是我得到了一个未定义的错误 var bowlingApp = angular.module('bowlingApp', []); //Add bowling points to score bowlingApp.controller('bowlPoints', function ($scope){ $scope.bowlPoints = [] $scope.addBowlPoints = f

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

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;

    };
    };
});
var bowlingApp=angular.module('bowlingApp',[]);
//增加保龄球得分
bowlingApp.controller('bowlPoints',函数($scope){
$scope.bowlPoints=[]
$scope.addBowlPoints=函数(){
如果($scope.bowlPoints.length<10){
$scope.bowlPoints.push($scope.enteredPoints);
}
否则{
警惕(“谢谢玩”);
}
};
$scope.total=函数(){
var合计=0;
如果(范围点<300){
对于(变量i=0;i<$scope.bowlPoints.length;i++){
合计+=$scope.bowlPoints[i]。金额;
}
返回总数;
};
};
});
这是干什么用的

if (scope.bowlPoints < 300) {
if(scope.bowlPoints<300){
是否可以通过这种间接方式获取数组的值或长度,而不在其上添加.length?
当然这里没有angular,只有javascript.Mayby可以帮助您;-)

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

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


希望这有帮助。我真的建议使用web浏览器JavaScript控制台来调试您的代码,这会让事情变得更简单。

什么类型的对象“enteredPoints”是数组?或者像{amount:…}这样的单个对象同意,如果
$scope.enteredPoints
没有属性
amount
,那么
$scope.bowlPoints[I].amount
会给你错误。另外,
$scope.bowlPoints(null);
在做什么?
scope.bowlPoints
不应该是
$scope.bowlPoints
?enteredPoints只是一个对象请忽略$scope.bowlPoints(null);我在改变事情时忘记了把那一行去掉