Javascript 与 PHP 中的动态多维对象
2019-07-17
134
在
PHP
中我们可以轻松做到这一点
<?php
$arr['layer1']['layer2'] = "value"; // works fine in PHP
返回:
Array(
[layer1] => Array(
[layer2] => "value"
)
)
此代码可以正常工作,因为
在
php
中不需要变量声明
但在 Javascript 中变量声明是必须的。
因此,这在
Javascript
中不起作用
var obj['layer1']['layer2'] = "value"; // doesn't work on JS
// sorry I can't use the code below
var obj = {};
obj['layer1'] = {};
obj['layer1']['layer2'] = "value";
// I can't use this also
var obj = {
"layer1" : {
"layer2" : "value"
}
};
Uncaught TypeError: Cannot set property 'layer2' of undefined
我无法使用此代码,因为我需要 动态 创建一个对象。并且其中没有固定键甚至固定层。因此, 我需要一些可以完全像 PHP 一样工作的东西
2个回答
您是否要覆盖
obj
变量?然后您可以使用以下命令。
var object = {
layer1: {
layer2: 'value2'
}
};
object = {
...object, ...{
layer3: {
layer4: 'value4'
}
}
}
console.log(object)
Parshav Shah
2019-07-17
定义外部对象,其中它的一个值的值是另一个对象,依此类推第四个:
var obj = {
layer1: {
layer2: 'value'
}
};
console.log(obj.layer1.layer2);
Snow
2019-07-17