繁体   English   中英

像PHP这样的Javascript中的动态多维对象

[英]Dynamic Multidimensional Object in Javascript like PHP

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"
  }
};

未捕获的TypeError:无法设置未定义的属性“ layer2”

我无法使用此代码,因为我需要动态创建一个对象。 并且甚至没有固定密钥,甚至没有固定层。 所以, 我需要一些可以像PHP一样工作的东西

是否要覆盖obj变量? 那么您可以使用以下内容。

 var object = { layer1: { layer2: 'value2' } }; object = { ...object, ...{ layer3: { layer4: 'value4' } } } console.log(object) 

定义外部对象,其中一个值的值是另一个对象,因此第四个:

 var obj = { layer1: { layer2: 'value' } }; console.log(obj.layer1.layer2); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM