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["Bill"] = "cat";
pets["Charlie"] = "elephant";
for (name i pets) {
document.write(name, ": ", pets[name], "<br>");
}
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>");
}
var pets = new Array();
pets["Andy"] = "dog";
pets[1] = "cat";
for (name in 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"
var pets3 = new Array();
pets3[1] = "dog"; // 整数で代入
document.write(pets3[1], "<br>"); // 整数で参照 => "dog"
pets3["1"] = "cat"; // 文字列で代入
document.write(pets3[1], "<br>"); // 整数で参照 => "cat"
var pets3 = new Array(); pets3[1] = "dog"; // 整数で代入 document.write(pets3[1], "<br>"); // 整数で参照 => "dog" pets3["1"] = "cat"; // 文字列で代入 document.write(pets3[1], "<br>"); // 整数で参照 => "cat"
やっぱり。