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);我在改变事情时忘记了把那一行去掉