索引的Javascript数组索引

时间:2015-03-14 07:56:07

标签: javascript multidimensional-array

我有一个2D JavaScript数组;

grid = [ [ a, b],

         [ c, d]]

要访问它的元素,我可以使用;

grid[ i ] // that's [ a, b] or [ c, d]

作为子阵列的一个元素,我如何解决" a"比如说?

编辑: 代码实际上来自一个three.js场景,其中每个元素都由一个多维数据集表示,即数组是一个多维数据集的网格。

设置程序时,当我点击其中一个立方体时,会触发一个事件来显示每个立方体的名称(字符串)。当我使用

grid [ i ],

每行返回适当的元素;

[ a, b ] or  [ c, d].

所以为了得到每一行的各个元素,我认为它必须是;

grid [ i ][ j ],

但是当我运行代码时,它总是返回" undefined"所以我认为语法是错误的....因此是最初的帖子。

请如何获得有效的结果?

3 个答案:

答案 0 :(得分:0)

最简单的方法

var grid = [ [ 1, 2], [ 3, 4]]
var a = grid[0][0] // 1

答案 1 :(得分:0)

多维索引数组的索引如下所示:

//grid = [ [ a, b], [ c, d]];
0: [  
  0: a,
  1: b
],
1: [
  0: c
  1: b
]

要访问网格数组的索引,可以通过调用grid[index]来选择它们,这将返回给定索引处的数组。 因此,在致电var row = grid[0]时,row将是一个包含[a, b]的数组 反过来可以以相同的方式访问:row[0]将是a

要访问而不将其存储在两者之间,您只需使用索引括号两次:

var value = grid[0][0];
// value = a.
var value2 = grid[1][0];
// value = c.

答案 2 :(得分:0)

可以访问二维数组grid = [ [ a, b], [ c, d]]

grid [0] = [a,b]; grid [0] [0] = a;

如果要转储数组:

for(var i=0;i<grid.length;i++){
   for(var j=0;j<grid[i].length;j++){
       console.log('grid[' + i + '][' + j + '] = ' + grid[i][j] );
   }
}

输出将是:

grid [0] [0] = a

grid [0] [1] = b

grid [1] [0] = c

grid [1] [1] = d