我在这个结构中有对象:
obj = {
user: { name: 'jeterson' },
title: 'I am a test'
}
我有一个键值:user.name
。
我尝试像这样获取值:obj[key]
,意思是 obj['user.name']
。它不起作用,仅适用于 obj.title
。
我的对象有很多值也是对象,我想这样获取值:
myobject[mykey]
可以像上面那样从属性对象中获取值吗?
最佳答案
您可以通过以下方式访问它:
obj['user']['name']
或者:
obj.user.name
如果你想从像“user.name”这样的键到值,你必须自己做一些逻辑。你可以像这样破解一些东西:
let obj = {
user: {
name: 'jeterson'
},
title: 'I am a test'
}
let key = 'user.name';
let keys = key.split('.');
let res = obj;
while (keys.length > 0 && res) {
let k = keys.shift();
res = res[k];
}
console.log(res) // "jeterson"
当键不匹配时,res持有undefined
。
关于javascript - 如何从父对象获取对象的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51045991/