Javascript对象中的二维数组
Two Dimensional Array in Javascript Object
我想用Javascript创建一个包含一个或多个二维数组的Object。
我尝试了以下方式(在这个例子中,我只尝试添加一个二维数组):
var XSIZE = 8;
var YSIZE = 8;
var obj = {
field : new Array(XSIZE),
field[0] : new Array(YSIZE),
foo : 1,
bar : 100
}
信息:
-这给了我一个奇怪的错误"missing:after property id",这似乎没有多大意义
-不幸的是,到目前为止,我还没有找到展示如何使用谷歌做到这一点的例子
-如果我不添加字段[0]。。。对于创建第二个数组,它是有效的
-将XSIZE和YSIZE更改为类似新数组(8)的数字。。。不起作用。
如果有人能教我怎么做,或者解释为什么我根本不能做到这一点,需要使用其他方法,我将不胜感激。
非常感谢!
错误"missing:after property id"是因为JavaScript看到了field[0]
的field
部分,并希望在该字段的值之前有一个冒号。相反,它得到了一个开放的括号,所以它抱怨。
不能对在运行时设置了维度的对象定义进行硬编码。您还必须在运行时构建对象。像这样也许
var XSIZE = 8;
var YSIZE = 8;
var obj = {
field : new Array(),
foo : 1,
bar : 100
}
for (var i = 0; i < XSIZE; i++) {
obj.field.push(new Array(YSIZE));
}
在对象文字表示法中,属性名称必须恰好为:属性名称。首先,field[0]
不是属性名称。其次,属性在对象定义之后才存在,因此在此之前无法访问属性。
您应该做的是在创建对象后设置数组:
var obj = {...}
obj.field[0] = [...];
或嵌套数组文字:
var obj = {
field: [ [...],
...
],
...
}
创建数组时不需要担心设置数组大小,因为添加元素时数组会增长。
您只能在以这种方式构造的对象上声明属性;而不是在另一个"级别"中的对象上。
您可以使用for
循环:
for(var i = 0; i < XSIZE; i++) {
obj.field[i] = new Array(YSIZE);
}
注意,YSIZE
不是必需的,因为空数组也可以正常工作([]
)。
您可以将二维数组作为您的obj属性,而无需求助于外部过程,并将所有内容保留在对象内部。首先创建空的"字段"数组。
var obj = {
field:[],
foo:1,
bar:100
};
现在,创建一个对象的方法,从初始的无量纲数组中创建一个二维数组。您可以在运行时根据需要确定多维数组的长度和维数:
var obj = {
field:[],
multifield:function(x,y){for (var count=0;count<x;count++) {this.field[count]=new Array(y);}},
foo:1,
bar:100
};
然后,您可以调用obj.multifield方法,输入您决定的任何维度:
obj.multifield(10,5); //-->create a 10x5 array in this case...
console.log(obj.field.length); // 10
console.log(obj.field[0].length); // 5
- 作为一个二维数组,从ajax接收
- 创建P5.js二维数组
- 如何在Javascript中从select标记的一系列选项中构建二维数组
- inArray,indexOf在二维数组中
- 比较二维数组js
- 从二维数组中获取img src和img维度,并在body中显示
- 如何在Java Script中比较二维数组和一维数组,并将常见数据存储在另一个数组中
- 如何将以下字符串拆分为二维数组:
- 将类似表的二维数组转换为对象 (JavaScript)
- 如何用javascript将带有JSON对象的二维数组制作成单个数组
- 为什么不可能将对象保存在二维数组中
- Javascript对象中的二维数组
- 将长度为n的二维数组转换为级别为n的嵌套对象
- 在JavaScript中用对象填充二维数组时出现问题
- 将二维数组转换为对象
- 可以创建对象并将其推入二维数组
- 逻辑创建二维数组到多维对象使用javascript
- JavaScript:使用第一个“行”将二维数组转换为对象数组来定义属性
- 如何将二维数组的行推送到对象
- 二维数组到对象(JavaScript)