重複の可能性:
変数が配列かどうかを検出する方法
変数が配列であるかどうかをテストする必要がある場合 (たとえば、オブジェクトまたは配列である可能性のある関数の入力引数)、通常、このコードを使用します
typeof(myVar) === 'object' && myVar.length !== undefined;
これは正しい方法ですか、それともより効率的な方法があり myVar instanceof Array
ますかiframe
?
重複の可能性:
変数が配列かどうかを検出する方法
変数が配列であるかどうかをテストする必要がある場合 (たとえば、オブジェクトまたは配列である可能性のある関数の入力引数)、通常、このコードを使用します
typeof(myVar) === 'object' && myVar.length !== undefined;
これは正しい方法ですか、それともより効率的な方法があり myVar instanceof Array
ますかiframe
?
Array.isArray
はECMAScript 5で利用できるようになったため、古いブラウザーのポリフィルで使用できます。
if(!Array.isArray) {
Array.isArray = function (vArg) {
return Object.prototype.toString.call(vArg) === "[object Array]";
};
}
Array.isArray(myVar);
「iframeの問題」は、フレームと配列に同じ名前を使用しないことで簡単に回避できます.私の意見では、そうするのは難しくありません.配列...
コード内ですでに jQuery を使用している場合は、jQuery.isArray() を使用できます。ドキュメントは次のとおりです。
あなたが試すことができます - Object.prototype.toString.call
例 -
var a = [1,2]
console.log(Object.prototype.toString.call(a))
これは、次の方法で文字列スライスメソッドで確認できる[オブジェクト配列]を返します
console.log(Object.prototype.toString.call(a).slice(8,-1)) <br />
「配列」を返す
var a = [1,2]
console.log(Object.prototype.toString.call(a).slice(8,-1) == "Array") // true