社区首页 >问答首页 >大型2D数组总是返回未定义的

大型2D数组总是返回未定义的
EN

Stack Overflow用户
提问于 2015-06-15 15:33:28
回答 1查看 46关注 0票数 0

我有一个2D数组,它绝对不会返回我需要的值。我从这个数组开始:

代码语言:javascript
代码运行次数:0
复制
var userdata:Array = new Array(new Array(1000),new Array(4))

然后,我尝试将所有值设置为0,如下所示:

代码语言:javascript
代码运行次数:0
复制
this.onLoad()
{
    for (i = 0; i < 1000; i++)
        {
            for (j = 0; j < 4; j++)
            {
                userdata[i][j] = 0
                trace(userdata[i][j])
            }
        }
}

这个跟踪返回80秒,然后是大量的“未定义”。我不知道为什么会这样。我也尝试过这样的方法:

代码语言:javascript
代码运行次数:0
复制
userdata[5][0] = 0
trace(userdata[5][0])

它仍然返回“未定义”。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-22 04:34:16

为了理解为什么只有8个“零”和许多未定义的值,让我们从数组声明开始:

代码语言:javascript
代码运行次数:0
复制
var userdata:Array = new Array(new Array(1000),new Array(4));

在这里,您应该了解,您只创建了一个只有2个单元格的数组(这就是为什么userdata[5][0]undefined ):第一个单元格是一个包含1000个元素的数组,第二个单元格是一个由4个元素组成的数组,这就是为什么只能设置8个项(2x4):第一个单元格中的第四个项目+第二个单元格中的第四个元素。

让我们回到您的问题,您希望创建一个由1000行和4列组成的多维数组。首先,我们创建一个由1000行(单元格)组成的数组:

代码语言:javascript
代码运行次数:0
复制
var a:Array = [1000];  // you can write it : new Array(1000);

然后,我们为每一行创建4列,并设置如下值:

代码语言:javascript
代码运行次数:0
复制
var i:Number, j:Number;
for (i = 0; i < 1000; i++)
{
    // create the 4 columns 
    a[i] = [4];     // you can write it : a[i] = new Array(4);

    for (j = 0; j < 4; j++)
    {
        a[i][j] = 0;
    }
}

然后我们可以验证我们的数组:

代码语言:javascript
代码运行次数:0
复制
trace(a[0][0]);     // gives : 0
trace(a[255][2]);   // gives : 0
trace(a[255][5]);   // gives : undefined, because we have only 4 columns
trace(a[1500][0]);  // gives : undefined, because we have only 1000 rows

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30856639

复制
相关文章
数组……Geez,我总是弄混
来来回回已经碰到这问题不知道多少次了,但每过一段时间总得把它弄混。郁闷啊。还是得记下来才行,不然每次都翻规范太痛苦了。
用户7886150
2020/12/12
7550
微信公众号msgSecCheck接口总是返回{
首先遇到报错{'errcode': 47001, 'errmsg': 'data format error rid: 60ac6d57-058e8ba0-3fa910cf'}
SingYi
2022/07/13
1.1K0
微信公众号msgSecCheck接口总是返回{
java数组返回元素位置_把返回值用数组形式返回java
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
2.1K0
我都服了,为啥上游接口返回的汉字总是乱码?
想必大家编写代码时肯定和我一样,也遇到过汉字乱码的问题。特别是,有时候和上下游对接接口,不能统一编码格式的话,一堆乱码问题,让人头皮发麻。
烟雨星空
2021/09/14
1.6K0
我都服了,为啥上游接口返回的汉字总是乱码?
request.getHeader("X-Forwarded-For")总是返回127.0.0.1
使用场景:nginx+tomcat,nginx起反向代理作用,由于没有做以下配置,结果在tomcat部署的jia-web通过request.getHeader("X-Forwarded-For")总是返回127.0.0.1:
johnhuster的分享
2022/03/28
7970
VBA数组的排序_vba函数返回值 数组
我们平时用的表格排序,只相对来说是在在表格中的升序降序。今天就好奇如果数组中实现排序 他是怎么实现的呢。
全栈程序员站长
2022/11/15
3.4K0
VBA数组的排序_vba函数返回值 数组
根据输入数组的整数值返回数组 {inputScoreRet[0],inputSocreRet[1]}
根据输入数组的整数值 intputArr1{1,1,3} inputArr2{13,3,4} * 如果inputArr1[0]==inputArr2[0] inputArrRet1Score get 0 socre inputSCoreRet[0]+=0; * 如果 inputArr1[1]>inputArr2[1] inputArrRet1Score get 1 score inplutScoreRet[0]+=1; * 否则 inputScoreRet[1]+=1; * 返回数组 {inputScoreRet[0],inputSocreRet[1]} * constraints: * 1<=a[i]<=100 * 1<=b[i]<=100
coderlwz
2023/10/17
1100
python返回数组(list)长度的方
Python返回数组(List)长度的方法 array = [0,1,2,3,4,5] print len(array)
py3study
2020/01/03
3.2K0
java删除文件时总是返回false,删不掉「建议收藏」
我的文件都是存在的,但是就是经常性的删不了,不知道怎么回事,我单独测试的时候是可以的,感觉很是奇怪,上网查,人家说是可能的情况有:
全栈程序员站长
2022/06/27
1.5K0
ThinkPHP报错“未定义数组索引”原因与解决方法
但是,大家有必要知道:thinkphp这个文件夹是框架的核心目录,一般我们是没必要修改的。要是框架核心文件报错,有可能是PHP版本的问题。
阿哲
2022/03/13
7.2K0
返回指定数组元素差的demo
# -*- coding: utf-8 -*- """ @author: sato @file: test.py @time: 2019-08-30 00:16 """ alist = [11, 2, 4, 55, 77, 9] t = 75 # 77 - 2 def solution(arr, target): """遍历两次 O(n^n)""" for i in range(len(arr)): for j in range(len(arr[i:])):
用户2458545
2022/09/07
8930
数组比较返回差集封装的函数
前几天在群里看到友友再问多维数组比较差异,所以把之前总结的方法贴出来以供参考,希望可以帮助大家。
友儿
2022/09/11
1.3K0
为什么编程语言中数组的下标总是从0开始?
昨天看到一个有意思的问题,为什么在我们遇到的大多数编程语言里面,数组的下标基本都是从0开始?
我是攻城师
2019/01/02
2K0
Java删除文件时总是返回false,删不掉,且无异常
今天在利用 File 类中的 delete() 方法删除文件时总是返回 false 。查看路径文件路径正确,文件也存在。测试可以正常,唯独在项目中那是一个删不掉啊。后来与测试用例仔细比对了一下,发现有个 IO 类在使用,因此得出:在删除文件是因为没关闭 IO,导致文件无法删除,后来加上 close() 就可以删除文件了。
全栈程序员站长
2022/08/27
1.5K0
Authors数组或集合返回自动生成的主键
如果你的数据库还支持多行插入, 你也可以传入一个Authors数组或集合,并返回自动生成的主键。
用户8983410
2021/10/07
9960
C++返回数组的两种方式
实现代码 #include using namespace std; int** f(){ int** dot; dot=(int**)new int*[5]; for(int i=0;i<5;i++){ *(dot+i)=new int[5]; } for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ dot[i][j]=i+j; } }
静谧星空TEL
2021/04/27
8640
C++返回数组的两种方式
java直接读取.zip压缩文件ZipEntry.getsize()总是返回-1?
但是后面发现一个问题,读取的时候总是返回-1 ze.getSize()的值总是-1,可是名字都到了。 找不到法子,着实无奈,后面换了种方式,干脆将文件解压出来之后,在对文件里面的内容进行验证文件名和文件大小好了
软测小生
2019/07/05
2.9K0
java直接读取.zip压缩文件ZipEntry.getsize()总是返回-1?
CA1819:属性不应返回数组
即使属性是只读的,该属性返回的数组也不受写入保护。 若要使数组不会被更改,属性必须返回数组的副本。 通常,用户不能理解调用这种属性的负面性能影响。 具体来说,他们可能将索引属性作为属性使用。
呆呆
2022/02/19
6170
如何通过函数返回数组首地址
int * scanffile(FILE *fp,int n){ int i; static
全栈程序员站长
2022/07/20
1.7K0
如何通过函数返回数组首地址
点击加载更多

相似问题

大型堆栈查询总是返回NULL

113

JS数组总是返回未定义的,长度=0

31

Java中的随机布尔2d数组总是返回"false“

40

2D javascript数组返回未定义错误

21

保存大型numpy 2d数组

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档