概念と使用方法
Array.isArray()
関数は
指定された値が配列であるかどうかを判定するために使用されます。
この関数は渡された引数が配列である場合はtrue
を、そうでない場合はfalse
を返します。
基本の例
const arr = [1, 2, 3];
const obj = {name: "山田太郎"};
console.log(Array.isArray(arr)); // true(配列)
console.log(Array.isArray(obj)); // false(配列ではない)
構文
Array.isArray(value);
value
は配列かどうかを確認する値です。value
が配列であればtrue
、配列でなければfalse
を返します。
例
// 全てtrueを返す
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
Array.isArray(new Array("a", "b", "c", "d"));
Array.isArray(new Array(3));
// 全てfalseを返す
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(17);
Array.isArray("Array");
Array.isArray(true);
Array.isArray(false);
注意点
配列をtypeof
演算子で確認しない
console.log(typeof [1, 2, 4]); // 出力: "object"
したがって、JavaScriptで配列の型を確認する場合は、Array.isArray()
関数を使用するのが最も正確です。
擬似配列オブジェクト
JavaScriptには配列と、配列に似た性質を持つ擬似配列オブジェクト(Array-like Objects)があります。これらは実際の配列ではありませんが、類似した構造を持っています。例えば、関数のarguments
オブジェクトやDOM要素のNodeList
が該当します。Array.isArray()
はこれらを配列として扱わないため、注意が必要です。
function checkArray(arr) {
if (Array.isArray(arr)) {
console.log("It is an array.");
} else {
console.log("It is not an array.");
}
}
const argumentsObj = (function() {return arguments;}());
checkArray(argumentsObj); // 出力: "It is not an array."
仕様書
仕様書 | |
---|---|
Array.isArray()
|
ECMAScript Language Specification #sec-array.isarray |
互換性
メソッド |
デスクトップ Chrome
|
デスクトップデスクトップ Edge
|
デスクトップ Firefox
|
Safari
|
Node.js
|
---|---|---|---|---|---|
Array.isArray()
|
4 | 12 | 4 | 10.5 | 0.10 |