javascript 配列であるかを判定する
- 作成日 2020.09.10
- 更新日 2022.10.13
- javascript
- javascript
javascriptで、Array.isArrayかinstanceofを使って、配列であるかを判定する方法を記述してます。
環境
- OS windows11 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 106.0.5249.103
Array.isArray使い方
Array.isArrayを使うと、配列であるかを判定することが可能です。
Array.isArray( 判定したい値 )
Array.isArray結果
let hoge;
//配列
hoge = ["a", "b", "c"];
console.log(Array.isArray(hoge)); // true
//空配列
hoge = [];
console.log(Array.isArray(hoge)); // true
//空2次元配列
hoge = [[],[]];
console.log(Array.isArray(hoge)); // true
//配列の空連想
hoge = [{}];
console.log(Array.isArray(hoge)); // true
//連想配列
hoge = {key1:'a', key2:'b', key3:'c'};
console.log(Array.isArray(hoge)); // false
//空連想配列
hoge = {};
console.log(Array.isArray(hoge)); // false
//文字列
hoge = "a";
console.log(Array.isArray(hoge)); // false
//null
hoge = null;
console.log(Array.isArray(hoge)); // false
//undefined
hoge = undefined;
console.log(Array.isArray(hoge)); // false
instanceof使い方
instanceofを使っても、同様の結果が得られます。
instanceof結果サンプル
let hoge;
//配列
hoge = ["a", "b", "c"];
console.log(hoge instanceof Array); // true
//空配列
hoge = [];
console.log(hoge instanceof Array); // true
//空2次元配列
hoge = [[],[]];
console.log(hoge instanceof Array); // true
//配列の空連想
hoge = [{}];
console.log(hoge instanceof Array); // true
//連想配列
hoge = {key1:'a', key2:'b', key3:'c'};
console.log(hoge instanceof Array); // false
//空連想配列
hoge = {};
console.log(hoge instanceof Array); // false
//文字列
hoge = "a";
console.log(hoge instanceof Array); // false
//null
hoge = null;
console.log(hoge instanceof Array); // false
//undefined
hoge = undefined;
console.log(hoge instanceof Array); // false
どちらを使用しても、パフォーマンスは、ほぼ同じです。
Object.prototype.toString
「Object.prototype.toString」オブジェクトの[[Class]]を使用して判定することも可能です。
Object.prototype.toString結果サンプル
let hoge;
let toString = Object.prototype.toString
//配列
hoge = ["a", "b", "c"];
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // true
//空配列
hoge = [];
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // true
//空2次元配列
hoge = [[],[]];
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // true
//配列の空連想
hoge = [{}];
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // true
//連想配列
hoge = {key1:'a', key2:'b', key3:'c'};
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // false
//空連想配列
hoge = {};
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // false
//文字列
hoge = "a";
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // false
//null
hoge = null;
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // false
//undefined
hoge = undefined;
console.log(toString.call(hoge).slice(8, -1) === 'Array'); // false
-
前の記事
リモートデスクトップ接続時に「ネットワークレベル認証(NLA)が必要です」が発生した場合の対処法 2020.09.10
-
次の記事
CentOs8 vtopをインストールしてリソースをモニタリングする 2020.09.10
コメントを書く