javascript - 对象中的属性存在但未定义

标签 javascript atom-editor

我有一个在 javascript 中的对象,它确实具有我正在寻找的属性,但是当我尝试访问该属性时,它是未定义的。

这是我的代码:

for (ret of value.methods[values[1]].ret) {
    var names = Object.keys(ret)
    console.log(JSON.stringify(ret, null, 2))
    if (names[0] == "N/A") {
      methodString = methodString.concat(` ${ret.type}`);
    }
    else {
      methodString = methodString.concat(` ${names[0]} (${ret.type}),`);
    }
  }

在上面代码示例的第三行,我打印出对象,这是控制台输出

{
  "newPosition": {
    "type": "table"
  }
}

所以 type 确实存在于 newPosition 内部,但是当我尝试在第 5 行或第 8 行访问它时,它说它未定义。当使用 hasOwnProperty 成员函数检查属性是否存在时,它返回 false

我真的被这个问题难住了,我不知道该怎么办。我在这里查看了很多关于堆栈溢出的答案,但没有一个为我提供了这个问题的答案。

最佳答案

问题是ret.type undefined

您想要获取的是 ret.newPosition.type

关于javascript - 对象中的属性存在但未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44301366/

相关文章:

javascript - knockout foreach 环绕 4

view - Atom 编辑器 - 如何修复 : Only one tab open at a time

react-native - Atom/Nuclide 是否为 react-native 组件提供自动导入

atom-editor - atom 的 Windows 安装程序可以为所有用户安装吗?

javascript - Angular 是否提供任何方法来隔离服务层?

javascript - 使用ajax请求获取上一个和下一个对象

javascript - 如何处理固定日期的突变?

c - C 中未发生段错误

node.js - JXcore 与 Electron

javascript - osx create-react-app 未安装