코딩 관련/Javascript와 jQuery, JSON
TypeError: Cannot read property '0' of undefined
메리짱123
2021. 5. 14. 11:12
반응형
없는 데이터(undefined인 데이터에) 배열로 접근하려고 해서 발생.
데이터는 JSON 데이터로 다음과 같다
data='[{"date":"20210514","avg":{"data1":"a","data2":"b","data2":"c"},
"min":{"data1":"a","data2":"b","data2":"c"},
"max":{"data1":"a","data2":"b","data2":"c"}}]'
배열로 만들어놓고 반복문으로 접근해서 처리하려 했는데..
TypeError: Cannot read property '0' of undefined 에러가 나면서 안 됨
var arr = ["avg","min","max"];
var arr2 = ["data1","data2","data3","data4"];
for(var i=0; i<data.length; i++){
for(var x=0; x<arr.length; x++){
for(var y=0; y<arr.length; y++){
if(data[i].arr[x].arr2[y]==null){
data[i].arr[x].arr2[y]="-";
}
}
}
}
임의로 배열을 만들어서 index로 접근하면 안되나보다
구래서 다 뺐더니 됨
for(var i=0; i<data.length; i++){
if(data[i].avg.data1==null){
data[i].avg.data1="-";
}
}
반응형