这似乎很明显,但是我无法弄清楚如何缩短代码中多个位置的嵌套对象的更改值,而不必每次都重新键入该值的键路径时:

> obj = { 'key1': { 'key2': { 'key3': { 'key4': { 'key5': 'value' }}}}}
> obj.key1.key2.key3.key4.key5
'value'




> obj.key1.key2.key3.key4.key5 = 'changeme'
> obj.key1.key2.key3.key4.key5
'changeme'

> obj.key1.key2.key3.key4.key5 = 'changeme2'
> obj.key1.key2.key3.key4.key5
'changeme2'

最佳答案

您可以将最里面的对象分配给一个变量。

var foo = obj.key1.key2.key3.key4;


从此以后,访问/修改foo.key5等同于访问/修改obj.key1.key2.key3.key4.key5

foo.key5 = 'new value'
console.log(obj.key1.key2.key3.key4.key5); // 'new value'

关于javascript - 更改深层嵌套的对象值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44381869/

10-09 22:56