这似乎是显而易见的,但我无法弄清楚如何缩短改变在代码中的多个位置深度嵌套对象的值,无需重新键入每次关键路径,这个值:更改深度嵌套对象值
> 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'
'变种X =如果你想要一个纯粹的命令行的解决方案obj.key1.key2.key3.key4' ......然后更改'x.key5' –
,只是按向上箭头。否则,只需存储对'let ref = obj.key1.key2.key3.key4;'的引用并使用'ref.key5 ='changeme3';' –
添加到@JaromandaX注释中,原因是这会起作用是因为您正在分配一个东西。对象使用引用进行分配。因此,在一个地方的变化将反映到处。但是如果你设置'x = ... key5',它不会像原始类型被值 – Rajesh