说你有这个对象:
myObj = { foo: { bar : 123, baz: 456 } };
要编辑bar的值,您可以执行以下操作:
myObj['foo']['bar'] = 789
但是,如果你有一个方法可以改变特定的对象属性,如下所示:
myObj[key] = value
如果您需要使用它,并且想要编辑bar
对象中的myObj
,是否可以使用该代码?
我试过了:
myObj["foo"."bar"] = 789;
myObj["foo"["bar"]] = 789;
但它不起作用。有可能吗?
答案 0 :(得分:0)
Pure JavaScript不允许您使用简单字符串访问嵌套属性。
替代品可以是lodash:
_.get(myObj, 'foo.bar'); // 123
_.set(myObj, 'foo.bar', 789);