我有一个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"所以我认为语法是错误的....因此是最初的帖子。
请如何获得有效的结果?
答案 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