计算数组中的总数
问题描述:
我在计算数组中的总数时遇到了麻烦。当一个新值被添加到数组中时,总数应该在视图上更新,但我得到一个未定义的错误。计算数组中的总数
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;
};
};
});
答
什么是
if (scope.bowlPoints < 300) {
是有可能得到这种间接方式值或数组的长度,不就可以加入。长度? 这里jsbin example ofcourse无棱角,只有javascript。 Mayby它可以帮助你;-)
答
如果您在Chrome控制台中单击错误消息,就像在Chrome中一样,您应该能够准确查看错误发生的位置。
未定义的错误通常是尝试访问本身未定义的对象的属性的结果。例如,erdomke说,如果$scope.enteredPoints
没有财产数量,那么$scope.bowlPoints[i].amount
会给你一个未定义的错误。
希望这会有所帮助。我真的推荐使用Web浏览器JavaScript控制台来调试你的代码,它会让事情变得更容易。
什么类型的对象“enteredPoints”是?阵列?或单个对象,如{amount:...} – jevgenig 2014-10-01 14:16:02
同意,如果'$ scope.enteredPoints'没有'amount'属性,那么'$ scope.bowlPoints [i] .amount'会给你错误。另外,什么是'$ scope.bowlPoints(null);'在做什么? – erdomke 2014-10-01 14:17:45
'scope.bowlPoints'不应该是'$ scope.bowlPoints'? – Hacketo 2014-10-01 14:19:56