連番にした変数をforで回して使いたい
何がしたいかうまく説明できないことだけど、つまづいたのでメモ。
オブジェクトを文字列に変換したいというか、変数を文字列で指定したいというか・・・。
下のだと、('time0'+i)のところが文字列になってしまって、forで回してスマートにしようっていうのに失敗
var time01 = '11:00~',
time02 = '13:00~',
time03 = '15:00~',
time04 = '午前',
time05 = '午後';
for(var i=1;i<=n;i++){
t = 'time0'+ i;
td.append('<p>'+('time0'+i)+ '</p>');
}
それで、
オブジェクトtextに、触りたいものをプロパティとして入れる。
↓
text[文字列]だとオブジェクトの中身を文字列でアクセスできた。
var text = {
time01 : '11:00~',
time02 : '13:00~',
time03 : '15:00~',
time04 : '午前',
time05 : '午後'
}
for(var i=1;i<=n;i++){
t = 'time0'+ i;
$td.append('<p>'+text['time0'+i]'</p>');
}
このへんのページ参考になるかと思ったけど難解。。
JSONらしき文字列をオブジェクトに変換するJavaScript - Takazudo hamalog