1

重複の可能性:
変数が配列かどうかを検出する方法

変数が配列であるかどうかをテストする必要がある場合 (たとえば、オブジェクトまたは配列である可能性のある関数の入力引数)、通常、このコードを使用します

typeof(myVar) === 'object' && myVar.length !== undefined;

これは正しい方法ですか、それともより効率的な方法があり myVar instanceof Array ますiframe?

4

4 に答える 4

6

Array.isArrayECMAScript 5で利用できるようになったため、古いブラウザーのポリフィルで使用できます。

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

Array.isArray(myVar);
于 2012-07-23T22:54:42.217 に答える
0

「iframeの問題」は、フレームと配列に同じ名前を使用しないことで簡単に回避できます.私の意見では、そうするのは難しくありません.配列...

于 2012-07-23T22:50:49.937 に答える
0

コード内ですでに jQuery を使用している場合は、jQuery.isArray() を使用できます。ドキュメントは次のとおりです。

http://api.jquery.com/jQuery.isArray/

于 2012-07-23T22:50:53.537 に答える
0

あなたが試すことができます - 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
于 2012-07-23T22:59:42.367 に答える