javascript - AngularJs:在数组中分配值时获得意外输出?

标签 javascript angularjs

我正在尝试将 2 个值插入到 js 数组中。

$scope.ttabs = [];

for(p = 1; p <= $scope.no_of_groups; p++) {
    $scope.ttabs[p] = [1];  
    console.log($scope.ttabs);  
}

这里的 p $scope.no_of_groups 的值为 2。

现在我得到的控制台输出为..

[undefined, [1], [1]]

为什么它在第一个索引处显示未定义?

最佳答案

因为你从索引1开始。数组的索引从0开始。在您的代码中,您没有为索引 0 分配任何值,因此它将具有默认值 未定义

将代码更改为从 0 开始,并从条件中删除等号。

$scope.ttabs = [];

for(var p = 0; p < $scope.no_of_groups; p++) {
    $scope.ttabs[p] = [1];  
    console.log($scope.ttabs);  
}

console.log($scope.ttabs);  

输出

[[1], [1]]

关于javascript - AngularJs:在数组中分配值时获得意外输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40926812/

相关文章:

javascript - jquery - 拉伸(stretch)背景图像以填充文档而不是窗口?

javascript - Node - 运行全局安装的自定义模块

angularjs - 如何在Tomcat 9的rewrite.config文件中为多个angular项目添加多个重写规则

javascript - 在花括号 AngularJS 中访问窗口高度?

javascript - Angular Bootstrap : data-provide ="datepicker" not using format identifier

javascript - 如何在 php codeigniter 中添加来自 CRUD ajax 的数据?

javascript - 如何加密 pouchdb 数据库

javascript - isCustomResponse() API - 是否可用 MFPF8

arrays - 如何在angularjs和html中打印json数组对象数组

javascript - RxJS Observable 返回数组,每次数组迭代运行另一个函数