如何在javascript中访问嵌套对象中的密钥
您能否帮助我如何从obj3访问“名称”键?请找下面的例子。如何在javascript中访问嵌套对象中的密钥
我找好计算策略,我不想做的事:
obj.obj1.obj2.obj3.name
var obj = {
obj1 : {
obj2: {
obj3: {
name: 'jhon'
}
}
}
}
谢谢!
理论上可以使用解构ES6例如
const {obj1: {obj2: { obj3: {name: b}}}} = obj console.log(b) //jhon
感谢您的回答,但请您解释一下。 – RVCoder
注意这里没有点符号。 –
这将足以让你走。 [解构](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)。您还应该将此问题标记为已回答。 –
可以使用返回的第一个非对象元件的递归函数。
显然,这个函数只适用于嵌套对象只包含一个对象或一个值的结构。
var obj = {
obj1 : {
obj2: {
obj3: {
name: 'jhon'
}
}
}
}
const getName = (obj) => {
if (typeof obj[Object.keys(obj)] === 'object') {
return getName(obj[Object.keys(obj)])
} else {
return obj[Object.keys(obj)]
}
}
getName(obj)
你想要什么而不是点符号? –
只有两种方式可以访问对象属性'点符号'和'括号符号'ex'obj.key'或'obj [key]'。 – Manish
如果有任何功能在JavaScript或任何其他方法。 – RVCoder