檢查物件是否為陣列
如果物件是 Array
,則 Array.isArray(obj)
返回 true
,否則返回 false
。
Array.isArray([]) // true
Array.isArray([1, 2, 3]) // true
Array.isArray({}) // false
Array.isArray(1) // false
在大多數情況下,你可以通過 instanceof
檢查物件是否為 Array
。
[] instanceof Array; // true
{} instanceof Array; // false
Array.isArray
具有優於使用 instanceof
檢查的優勢,即使陣列的原型已被更改它仍將返回 true
,並且如果非陣列原型被更改為 Array
原型將返回 false
。
var arr = [];
Object.setPrototypeOf(arr, null);
Array.isArray(arr); // true
arr instanceof Array; // false