配列の実験2〜Array()で作った配列のlengthプロパティを変更してみる(NN3.0以降)

Array()で配列を作ると、長さはlengthプロパティで求められる。このプロパティはリードオンリーではなく、書き換えが可能。仮にlengthプロパティを生成時より小さくすると、はみ出した要素は切り捨てられる。詳細はソースのコメントを参照。
実行結果


ヘッダ部分
なし

ボディ部分 <SCRIPT LANGUAGE="JavaScript"> //4つの要素を持つ配列aを生成、つまり、a.lengthは4 a = new Array("dog","cat","bird","human") //配列aのlengthプロパティ、各要素を書き出す document.write("a.lengthは" + a.length + "<BR>") document.write("a[0]は" + a[0] + "<BR>") document.write("a[1]は" + a[1] + "<BR>") document.write("a[2]は" + a[2] + "<BR>") document.write("a[3]は" + a[3] + "<P>") //配列aのlengthプロパティを5にする //a[4]がundefinedになる a.length = 5 document.write("a.lengthは" + a.length + "<BR>") document.write("a[0]は" + a[0] + "<BR>") document.write("a[1]は" + a[1] + "<BR>") document.write("a[2]は" + a[2] + "<BR>") document.write("a[3]は" + a[3] + "<BR>") document.write("a[4]は" + a[4] + "<P>") //配列aのlengthプロパティを2にする //a[2]、a[3]の要素が失われ、undefinedになる。 a.length = 2 document.write("a.lengthは" + a.length + "<BR>") document.write("a[0]は" + a[0] + "<BR>") document.write("a[1]は" + a[1] + "<BR>") document.write("a[2]は" + a[2] + "<BR>") document.write("a[3]は" + a[3] + "<P>") //先のa[2]、a[3]の要素は失われているが、その値を書き出そうとしたので、 //再び配列aのlengthプロパティは4になっている。 document.write("a.lengthは" + a.length + "<BR>") //以上から、Array()で生成した配列のlengthプロパティは、 //配列を作ったあとで増減することもできるし、 //要素を追加すれば自動的に増えることがわかる。 </SCRIPT>