IE8でいくつかのJavaScrptコードをテストしているときに、単純なfor..inループを実行すると奇妙な動作が発生します。
var categories = ['for', 'bar', 'steam'];
for(var key in categories) {
console.log(key);
}
出力:
0
1
2
forEach
map
filter
reduce
indexOf
end
配列のプロトタイプ関数はどれに含まれていますか?それは間違いなくそれが機能するはずの方法ではありません。何故ですか?
ところで、ループをに変更するときはもちろん機能しますfor (var key=0; key < categories.length, key++)
。