Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript多维数组问题_Javascript_Ajax_Multidimensional Array - Fatal编程技术网

Javascript多维数组问题

Javascript多维数组问题,javascript,ajax,multidimensional-array,Javascript,Ajax,Multidimensional Array,以下是global.heights数组的示例: [[190, 76, 209, 57, 114, 171, 76, 513, 209, 171, 76, 152, 76, 76, 190, 114, 95, 76, 76, 95, 57, 133, 114], [152, 76, 133, 38, 95, 133, 76, 342, 190, 114, 57, 152, 76, 57, 133, 76, 76, 76, 57, 76, 57, 76, 76], [], []] 我需要做的是使另

以下是global.heights数组的示例:

[[190, 76, 209, 57, 114, 171, 76, 513, 209, 171, 76, 152, 76, 76, 190, 114, 95, 76, 76, 95, 57, 133, 114], [152, 76, 133, 38, 95, 133, 76, 342, 190, 114, 57, 152, 76, 57, 133, 76, 76, 76, 57, 76, 57, 76, 76], [], []]
我需要做的是使另一个数组成为全局数组的一部分(很简单,像global.offset=new array()这样的东西可以正常工作)。 它需要看起来像这样:

[[190, 266, 475, ...], [...], [], []]
基本上每个地方都是目前为止的价值。与global.offset[2]一样,它是整个数组中添加的前三个,依此类推

但如果我尝试以下方法:

for(i = 0, e < global.heights.length; i < e; i++) {
    for(j = 0, k < global.heights[1].length; j < k; j++) {
        global.offset[i][j] = Number(global.offset[i][j - 1]) + Number(global.heights[i][j]);
    }
}
for(i=0,e
如果我这样做,我会得到一个未定义的错误,即global.offset不是一个对象(但它已经初始化,并且里面有四个数组)

我是JS的新手

谢谢

这看起来不对:

    for(j = 0, k < global.heights[1].length; j < k; j++) {
        global.offset[i][j] = Number(global.offset[i][j - 1]) + Number(global.heights[i][j]);
    }
for(j=0,k
你是说
k=global.heights[i].length
(注意=和1替换为i)

此外,除非将字符串放入数组中,否则不需要使用Number()


也就是说,在不知道全局数组的定义位置的情况下,我无法提供更多帮助。

因此,问题是您在循环外部定义了数组。在尝试设置偏移数组之前,请将其定义为数组

本页更好地解释了我的意思:

正如IPX Ares所说:在循环外声明数组。在访问“global.offset[i]”的“[j]”成员之前,还要确保“global.offset[i]”已实例化


global.offset=global.offset | |【】///你在哪里定义了global.offset?我刚才看到的是global.heights到那一点。不管怎样,我看到了它现在的位置。
global.offset = global.offset || []; // <- See this!
for(i = 0, e < global.heights.length; i < e; i++) {
    for(j = 0, k = global.heights[1].length; j < k; j++) { // I think you mean "k = global.heights[1].length"?
        global.offset[i] = global.offset[i] || []; // <- and this!
        global.offset[i][j] = Number(global.offset[i][j - 1]) + Number(global.heights[i][j]);
    }
}