檢查物件是否為陣列

如果物件是 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