我正在尝试访问对象的元素,但是每当执行该代码时,都会引发undefined
错误。
var pokeShow= function(pokaName,datapp) {
for(var i=0;i<datapp.pokemon.length;i++) {
if(datapp.pokemon[i].name==pokaName){
var dispo=datapp.stringify(pokemon[i]) // this line is showing error that pokemon is not defined
alert(dispo)
}
else
alert("wrong input")
}
json文件(它的一个块):-
var pokeData = {
"pokemon": [{
"id": 1,
"num": "001",
"name": "Bulbasaur",
"img": "http://www.serebii.net/pokemongo/pokemon/001.png",
"type": [
"Grass",
"Poison" ...
口袋妖怪似乎已在对象中明确定义,为什么会引发此错误?
答案 0 :(得分:1)
似乎您正在尝试获取尚未定义为对象本身的对象的一部分。
datapp.pokemon[i].name==pokaName
pokemon[i]
尝试更换
var dispo=datapp.stringify(pokemon[i])
与
var dispo=datapp.stringify(datapp.pokemon[i])
我也不完全确定,但我认为您是要放置 JSON.stringify而不是datapp.stringify
答案 1 :(得分:0)
for(var i=0;i<datapp.pokemon.length;i++) {
if(datapp.pokemon[i].name==pokaName){
var dispo=datapp.stringify(pokemon[i])
alert(dispo)
}
}
pokemon
是datapp
一部分的数组,在比较if(datapp.pokemon[i].name==pokaName)
时,您做的很正确。问题是当您stringify
时,您不是在指datapp.pokemon[i]
,因此未定义。相反,您可以将其更改为以下
var dispo=JSON.stringify(datapp.pokemon[i])