配列の連結
配列の0番に0、1番に10、2番に20、3番に30・・9番に90を入れたものを使って今度は中身を画面に出してみましょう。単純に考えるならfor(i=0;i<10;++i) { alert( hairetu[i] ); }
となります。しかし、ここではいったん配列の要素を一つの文字列にして、それを一回のalertで出すようにしてみます。
str = ""; for(i=0;i<10;++i) { str = str + hairetu[i] + " "; } alert( str );
まず、strという変数に "" つまり空欄の文字列を入れておきます。そして、for文の中でそれに配列の各要素を連結していきます。文字列の連結ですから + を使います。
ここでもし、
str = str + hairetu(i);
としていたら、全数字がつながって出てきます。つまり、0102030405060708090 となるわけです。
これでは困るので要素の後に空白を一個入れるようにしました。それで
str = str + hairetu[i] + " ";
になったわけです。そしてできあがったstrをalertで表示しています。
しかし、実はこのようなプログラムを自分で書かなくてもJoinという関数を使えばすぐに同じことが実現できます。
str = hairetu.join(" ");
alert( str );
配列の全要素を連結して一つの文字列にすることはよく使われるので、Joinというすぐに出来る命令(メソッド)が配列オブジェクトに内蔵されているのです。それを呼び出し、引数に区切り文字(今回は空白)を与えると配列内容が連結され返されます。
問題8-4
配列の0番に「今日は」、1番に「晴れ」、2番に「でした」と入れ、その内容を連結して表示しよう。