Array.isArray()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Array.isArray() 函式會檢查傳入的值是否為一個 Array

js
Array.isArray([1, 2, 3]); // true
Array.isArray({ foo: 123 }); // false
Array.isArray("foobar"); // false
Array.isArray(undefined); // false

語法

js
Array.isArray(obj)

參數

obj

要檢查的物件。

回傳值

若物件為 Array 回傳 true;否則回傳 false

描述

檢查傳入的物件是否為陣列(Array),如果是便回傳 true,否則回傳 false

更多細節請參考 「Determining with absolute accuracy whether or not a JavaScript object is an array」

範例

js
// 下方都回傳 true
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
Array.isArray(new Array("a", "b", "c", "d"));
Array.isArray(new Array(3));
// 小細節:Array.prototype 本身是陣列:
Array.isArray(Array.prototype);

// 下方都回傳 false
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(17);
Array.isArray("Array");
Array.isArray(true);
Array.isArray(false);
Array.isArray({ __proto__: Array.prototype });

instanceof vs isArray

當檢查 Array 實例時,Array.isArray 相較於 instanceof 更加推薦,因為它可以穿透 iframes

js
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
xArray = window.frames[window.frames.length - 1].Array;
var arr = new xArray(1, 2, 3); // [1,2,3]

// 正確地檢查陣列型態
Array.isArray(arr); // true
// 有害地,因為它不能在 iframes 之間正常運作
arr instanceof Array; // false

Polyfill

如果 Array.isArray() 不存在於你的環境,在其他程式碼前執行下列程式碼可建置 Array.isArray()

js
if (!Array.isArray) {
  Array.isArray = function (arg) {
    return Object.prototype.toString.call(arg) === "[object Array]";
  };
}

規範

Specification
ECMAScript® 2025 Language Specification
# sec-array.isarray

瀏覽器相容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
isArray

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

參見