【发布时间】:2016-07-10 19:28:57
【问题描述】:
我确信这是有充分理由的,但我似乎没有想到。 我正在使用 Angular,我在一个“for”循环中使用函数 getFullYear(),该循环遍历一组对象。当我使用例如booking[i].getFullYear(), (我是“for”定义中的计数器)它说booked[i].getFullYear 不是一个函数,但是如果我说booked[0].getFullYear - 只需将计数器替换为一个数字(或在循环内创建一个数字的 var)- 它可以工作。
例如
for (gig in $scope.booked ){
var i =0; //new var to use as a counter
$scope.booked[gig].visualDate={
year: $scope.booked[i].when.getFullYear(), //works
//year: $scope.booked[gig].when.getFullYear() //does not work
};
//i++; I can't use it as a counter
};
提前致谢
【问题讨论】:
-
您必须显示更多的代码...否则我们将看不到错误的根源。 $scope.booked 是如何初始化的以及它是如何收集的。是带索引号键的对象还是带数字键的数组?
-
听起来你可能在
$scope.booked中有一些非整数值,你能不能在 for 循环中做一个console.log(gig);来验证它们都是有效的整数,所以它不是试图调用 $scope.booked[''] 或其他无效的东西。 (作为替代方案,尝试使用$scope.booked.length执行经典的数字 for 循环,看看错误是否消失。)
标签: javascript angularjs loops