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