Javascript typeof返回对象,但获取错误:";“未定义”不是对象;
我目前正在使用名为Javascript typeof返回对象,但获取错误:";“未定义”不是对象;,javascript,react-native,Javascript,React Native,我目前正在使用名为数据的以下对象: Object { "getOrder": Array [ Object { "__typename": "Order", "id": 1, "items": Array [ Object { "__typename": "Item", "id": 1, },
数据的以下对象:
Object {
"getOrder": Array [
Object {
"__typename": "Order",
"id": 1,
"items": Array [
Object {
"__typename": "Item",
"id": 1,
},
Object {
"__typename": "Item",
"id": 2,
},
],
},
],
}
当我试图访问数据.getOrder
时,我得到一个错误,即未定义不是对象。当Iconsole.log(typeof data.getOrder)
时,它输出对象。当我只打印data.getOrder
时,它会正确地打印上面的数组
为什么当我尝试执行data.getOrder[0]
时会出现上述错误?对我来说,它似乎是一个基于我正在打印和检查的对象。你可以试试
console.log(typeof data.getOrder[0]);
以及使用它
data.getOrder[0].id
因为getOrder
是一个数组
如果使用typeof
获取数组的数据类型,则结果object
检查数组
function isArray(a){
return (
typeof(a) === Object.name.toLowerCase() && (
a instanceof Array ||
Object.prototype.toString.call(a) === '[object Array]'
)
);
}
let数据={
“getOrder”:[{
“uuu typename”:“订单”,
“id”:1,
“项目”:[{
“uuu typename”:“项目”,
“id”:1,
},
{
“uuu typename”:“项目”,
“id”:2,
}
]
}]
}
console.log(data.getOrder[0]。\uuuu typename);
console.log(data.getOrder[0].items[0].\uuu typename);
console.log(data.getOrder[0].items[1].id)代码>“当我试图访问data.getOrder时,我得到了错误信息”&“当我只打印data.getOrder时,它正确地打印了数组”是相互矛盾的。当你同时打印时,你说的“只是打印”是什么意思?调用控制台.log
时是否出现运行时错误?或者你指的是chrome开发工具?你能不能提供一个失败的实例(codepen/jsfiddle?@sudhakars当我说访问时,我的意思是说我无法从data.getOrder
获取任何数据。当我尝试const order=data.getOrder[0]
时,我得到了上述错误。当我运行console.log(data.getOrder)
时,它会打印数组。抱歉,它使用了错误的术语当我运行console.log时,我得到了以下错误:TyperError:undefined不是一个对象
@user081608,我想你的代码中有一个输入错误。您应该在这里添加代码