자바스크립트 질문이요!!
본문
var c1= 'dsf';
var c2= 'dsf';
var c3= 'dsf';
var c4= 'dsf';
var d1= 5000;
var d2= 5000;
var d3= 5000;
var d4= 5000;
var e1= 1000;
var e2= 1000;
var e3= 1000;
var e4= 1000;
for(var x = 0; x<4; x++){
for(var y = 0; y<4; y++){
a[x][y]=[eval("c"+y+1), eval("d"+y+1), eval("e"+y+1)];
}
}
/*var a= [
[c1, d1, e1],
[c2, d2, e2],
[c3, d3, e3],
[c4, d4, e4]
];*/ 이런식으로 만들고
document.write(a[0][0]);
출력하고 싶은데
출력이 안되는데 뭐가 잘못되었을까요 ㅠㅠㅠㅠㅠㅠㅠㅠ
답변 3
참조하시라 올립니다.
var c1= 'dsf1';
var c2= 'dsf2';
var c3= 'dsf3';
var c4= 'dsf4';
var d1= 5000;
var d2= 6000;
var d3= 7000;
var d4= 8000;
var e1= 1000;
var e2= 2000;
var e3= 3000;
var e4= 4000;
for(var x = 0; x<4; x++){
var y = x +1;
a[x] = [eval("c"+y), eval("d"+y), eval("e"+y)];
}
document.write(a[0][0]);
기존에 짜셨던 내용중에서 조금만 수정했어요.
<script>
var c1= 'dsf';
var c2= 'dsf';
var c3= 'dsf';
var c4= 'dsf';
var d1= 5000;
var d2= 5000;
var d3= 5000;
var d4= 5000;
var e1= 1000;
var e2= 1000;
var e3= 1000;
var e4= 1000;
var a = Array();
for(var x = 0; x<4; x++){
a[x] = Array();
for(var y = 0; y<4; y++){
a[x][y]=[eval("c"+(y+1)), eval("d"+(y+1)), eval("e"+(y+1))];
}
}
document.write(a[0][0]);
</script>
뉴비라 주제넘은 참견같지만...
eval에 var, Array() 입이 딱 벌어 집니다
eval함수는 그저 이런게 있구나 정도만 알고 절대 쓰지 마세요
var 대신에 let, const이용하고 Array()는 그냥 []로 대체하는게 더 좋을것 같네요
이 질문에서는 준이님이 커멘트안에 친 그게 정답입니다!