JavaScript で配列を判定する方法として、ECMA Script 5では Array.isArray() が用意されています。 alert(Array.isArray([1, 2, 3])); //配列なので true alert(Array.isArray([])); //空の配列でも true alert(Array.isArray({})); //オブジェクトは false しかし、IE8は ECMA Script 5 にほぼ対応していないので、このメソッドは使えません(cf. ECMAScript 5 compatibility table)。 では、IE8含めて対応するにはどうするか。 まず、typeof でいけないか? と考えますが、"object" が返ってきてしまうので、使い物になりません。 そこで、instanceof を使ってみます。 このように、hoge in