我有一个对象,在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}),`);
}
}
在上面的代码示例的第3行,我打印出对象,这是控制台输出
{
"newPosition": {
"type": "table"
}
}
所以type
确实存在于newPosition
内部,但当我尝试在第5行或第8行访问它时,它表示它未定义。当检查属性是否存在hasOwnProperty
成员函数时,它返回false
。
我真的很难过,我不知道该怎么做。我已经在堆栈溢出处查看了很多答案,但没有一个能为我提供这个问题的答案。
答案 0 :(得分:1)
问题是ret.type
是 undefined
。
您想要得到的是ret.newPosition.type