javascript - 如何从父对象获取对象的属性值

标签 javascript

我在这个结构中有对象:

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/

相关文章:

javascript - 动态调整复杂 Canvas 路径 HTML5

javascript - PhantomJs 将参数传递给内部函数 page.evaluate

javascript - 如何让滚动后出现滚动到顶部按钮

javascript - React.js + bootstrap-table 仅在第一次加载时工作,但转换会破坏表格

javascript - 表格单元格中的内联 CSS 元素溢出

JavaScript:findIndex() 返回 TypeError

javascript - 出现在链接按钮(文本)旁边的基本简单模态弹出 Div(js 脚本)

javascript - 从 Firebase 更新项目

javascript - 如何导入已经导入另一个文件的文件?

javascript - 在设计 JS 库时,我应该让它兼容 RequireJS/AMD 吗?