javascript - Angular = 获取无效的数组长度

标签 javascript arrays angularjs ceil

我的 Controller 中有以下功能...

$scope.pagerPages = function (n) {
    var i = Math.ceil(n);
    return new Array(i);
}

n 来自 View 上的表达式,有时可以是分数。这就是我在 n 上完成 Math.ceil 的原因。

有人知道为什么我会收到此错误吗?

Invalid array length

编辑; n是从 View 计算

<div ng-repeat="i in pagerPages( report.TotalNumRows / report.View.PageSize ) track by $index">
...
</div>

计算结果为 11.2,这显然有效,因为在页面上我得到了 div 元素的 12 次迭代,但它却产生了这个错误?

最佳答案

检查i 的值。我怀疑是阴性

即使 n 是字符串或对象,它仍然可以工作。你只会得到这样的错误:i 是一个负数。

new Array({})new Array('ergerg') 不会给你一个错误,但是 new Array(-2) 会给你你的错误

关于javascript - Angular = 获取无效的数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31680199/

相关文章:

javascript - 为什么要连接简单的字符串而不是直接写入?

输出奇怪的c程序

angularjs - 在 Angular UI-Router 的动态 View 中添加一个 SEO 友好的 Url Slug

javascript - ReactDOM.render 不接受 JSX

javascript - ng-repeat 和 $scope 问题

javascript - 根据度数计算方向

java - 使用数组和列表的正确循环构造

c - 我应该如何分配我的结构(指向结构数组的指针)?

javascript - AngularJS - 如果表单无效则阻止提交表单

javascript - 访问从 Controller 获取的资源?