Array の添字に整数(インデックス)じゃなくて文字列(キー)を使うと連想配列になる。
var pets = new Array(); pets["Andy"] = "dog"; pets["Bill"] = "cat"; pets["Charlie"] = "elephant"; for (name i pets) { document.write(name, ": ", pets[name], "<br>"); }
こりゃ気持ち悪い。整数の添字と混ぜるとどうなるんだ?
var pets = new Array(); pets["Andy"] = "dog"; pets[1] = "cat"; for (name in pets) { document.write(name, ": ", pets[name], "<br>"); }
なんでもないかのように動く。
というか,pets[1](添字が整数)と pets[“1”](添字が文字列)を区別していないような感じ。
var pets3 = new Array(); pets3[1] = "dog"; // 整数で代入 document.write(pets3[1], "<br>"); // 整数で参照 => "dog" pets3["1"] = "cat"; // 文字列で代入 document.write(pets3[1], "<br>"); // 整数で参照 => "cat"
やっぱり。