javascript - 在 JavaScript 多维对象中引用数字

标签 javascript object multidimensional-array dataset

下面的代码使用数字作为 JavaScript 对象中的数据集:

spacenum = spacedetails[1];
//Create object for space number
if(spacenum in spaceobj['P1'] == false){
    spaceobj['P1'][spacenum] = {}; // must initialize the sub-object, otherwise will get 'undefined' errors
}
spaceobj['P1'][spacenum]['Vacant'] = spacedetails[2];
spaceobj['P1'][spacenum]['Name'] = spacedetails[3];
spaceobj['P1'][spacenum]['Number'] = spacedetails[4];
spaceobj['P1'][spacenum]['Apartment'] = spacedetails[5];

此代码循环运行,因此“spacenum”从 1 开始,一直到最后 100 秒。

我正在尝试像这样访问数据:

console.log(spaceobj.P1.11.Vacant);

但是,“11”会抛出错误。我尝试过括号和引号,但没有成功。

如何使用号码访问我想要的数据?

最佳答案

在 JavaScript 中,'11' 不是有效的变量名称。但是,由于其动态特性,您可以使用:

console.log(spaceobj.P1["11"].Vacant);

或者,也可以使用:

console.log(spaceobj["P1"]["11"].Vacant);

关于javascript - 在 JavaScript 多维对象中引用数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44785877/

相关文章:

javascript - 仅在 Google map (v3) 中单击折线时触发一次单击事件

javascript - 获取父div的属性

javascript - 在 Pentaho CDE 上为检查组件设置不同的值和标签

java - 迭代作为表对象的列表

java - 当子对象引用父对象时对象销毁

javascript - 嵌套工具提示(工具提示内的工具提示)

java - 按列显示数组

c - 在 C 中使用 scanf() 从 stdin 读取输入

php - 在 PHP 中如何读取从 COM 对象返回的多维变体数组?

flutter - 无法将参数类型 'Object' 分配给参数类型“Map<String, dynamic>?