我有一个在 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/