반응형

없는 데이터(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="-";
	}
}
반응형

+ Recent posts