JavaScriptで変数が配列か判定する方法について書いています。
配列か判定するにはArray.isArray
を使うと良いです。
Array.isArrayで配列か判定する
変数や値が配列か判定するには、Array.isArray
を使うことで確認できます。
例えば、下記のように使うことができます。
let fruits = ['apple', 'orange', 'grape']
let result = Array.isArray(fruits)
console.log(result) // true
fruits
変数に3つの要素で配列を作成しました。
次の処理で、配列かどうか判定しています。
Array.isArrayに変数や値を渡すことで、配列か判定してくれます。
判定した結果、配列の場合にはtrueが返ってきて、そうでない場合にはfalseが返ってきます。
今回渡したfruits
変数は、配列になっているのでtrueが返ってきます。
result
変数で受け取って、console.logで出力すると、trueが返ってきたことが確認できました。
オブジェクトはもちろんfalseに
配列を含んでいてもオブジェクトを渡すと、falseが返ってきます。
let fruits = {items: ['apple', 'orange', 'grape'], size:3}
let result = Array.isArray(fruits)
console.log(result) // false
fruits
変数にオブジェクトを作成しました。
fruits.items
には配列が入っていますが、このままfruits
を渡すと、オブジェクトなのでfalseが返ってきます。
下記のように、配列にアクセスして判定した場合には、もちろんtrueになります。
let fruits = {items: ['apple', 'orange', 'grape'], size:3}
let result = Array.isArray(fruits.items)
console.log(result) // true
Array.isArrayを使った判定サンプル7選
Array.isArrayを使って、7つの値を判定してみました。
数値
数値のときもfalseになりました。
let result = Array.isArray(777)
console.log(result) // false
文字列
文字列のときもfalseになりました。
let result = Array.isArray("test")
console.log(result) // false
null
nullのときもfalseになりました。
let result = Array.isArray(null)
console.log(result) // false
undefined
undefinedのときもfalseになりました。
let result = Array.isArray(undefined)
console.log(result) // false
newで配列作成
new Array
で配列を作った場合にも、配列なのでtrueになります。
let result = Array.isArray(new Array(1, 2, 3))
console.log(result) // true
空配列
空配列も配列なのでtrueです。
let result = Array.isArray([])
console.log(result) // true
配列
配列を直接渡しても、もちろんtrueが返ってきます。
let result = Array.isArray(['beer'])
console.log(result) // true
変数が配列か判定する方法まとめ
今回は変数や値が配列か判定する方法について書きました。
Array.isArrayを使うことで、簡単に判定することができました。
最後のサンプルを表にまとめると、下記のようになります。
項目 | 例 | 結果 |
---|---|---|
数値 | Array.isArray(777) |
false |
文字列 | Array.isArray("test") |
false |
null | Array.isArray(null) |
false |
undefined | Array.isArray(undefined) |
false |
newで配列作成 | Array.isArray(new Array(1, 2, 3)) |
true |
空配列 | Array.isArray([]) |
true |
配列 | Array.isArray(['beer']) |
true |
空配列の場合でもしっかりとtrueを返してくれました。
コメント