檢測物件是否為Array的好方法
Fri, 10 Oct 2008 21:21:48 +0800剛剛在Douglas Crockford的blog上看到的方法,應該很實用:The Miller Device。不過這個方法是google的Mark Miller提出來的。
方法如下:
Object.prototype.toString.apply(value) === '[object Array]'
要檢查的變數就是"value",非常簡單。
另外稍微試一下typeof的結果是怎樣,做一個比較驗證:
alert(typeof []); alert(typeof {}); alert(Object.prototype.toString.apply([]) === '[object Array]'); alert(Object.prototype.toString.apply({}) === '[object Array]');
這樣會依序跳出"object"、"object"、"true"、"false"的結果,看來可行。