私の歴史と今

振り返ると恥ずかしくなるのが私の歴史。だけどそのときは真面目に書いていた訳でね。そんな今の私を書いていく。

JavaScript 第5版 3.6 配列

    1. データ値の集合
    2. データ値にはインデックスが付けられている。
    3. インデックスは0を起点にして数える
    4. 例えば、1番目の要素は、arr[0]で表わせる。
    5. インデックスは正の整数(連想配列は文字列)
    6. 配列の配列は可能(多次元配列はサポート外)
    7. 異なるデータ型の要素を格納できる。(Javaとの違い)

3.6.1 配列の生成

引数なしのコンストラクタ
var a = new Array();
a[0] = 1;
a[1] = "a";
a[2] = true;
a[3] = {x:1, y:2, z:3};
配列要素を含むコンストラクタ
var a = new Array(1, "a", true, {x:1, y:2, z:3});
引数1つだけの場合

配列の大きさを指定する。

var a = new Array(10);
alert(a.length);  // 10
alert(a[0]);      // undefined

lengthを参照すると、10個確保されているのがわかる。けど、それぞれの要素は[undefined]だと。

var a = new Array();
alert(a.length);  // 0
alert(a[0]);      // undefined

コンストラクタで大きさを指定しない場合、length=0になり、a[0]=undefinedになる。

var a = new Array(true);
alert(a.length);  // 1
alert(a[0]);      // true

引数1つの場合は、true==>1に自動変換されると思ったけど、配列要素として扱われるようだ。

3.6.2 配列リテラル

    • var a = [1, 2, 3, 4, 5];
    • var a = [1,,,,5]; // a[1]==>undefined
    • var a = [ [1,2], [3,4,5] ]; // 配列の配列