ホームページ > 記事 > コンピューターのチュートリアル > データが配列であるかどうかを判断する方法
typeof と instanceof の 2 つの主要なものがあり、juti の使用法は次のとおりです
演算子の種類
関数、文字列、数値、未定義などのいくつかのタイプのオブジェクトについては完全に機能しますが、配列に関しては
1 var arr=new Array("1","2","3","4","5");
2 アラート(typeof(arr));
客観的な回答が返されますが、少し残念です。
演算子のインスタンス
JavaScript の instanceof 演算子は、オブジェクトが特定のクラスのインスタンスであるかどうかを示すブール値を返します。使用方法: 結果 = クラスのオブジェクトのインスタンス。先ほどの配列のままです。もう一度試してください。ええと、正常に true が返されました。
1 var arrayStr=new Array("1","2","3","4","5");
2 アラート(配列の配列Strインスタンス);
簡単なまとめ: 今日議論した質問は答えられたように見えますが、実際には、複数のフレーム間の往復は大きな問題を引き起こします。
配列であろうとオブジェクトであろうと、typeof 操作の戻り値はオブジェクトであるため、配列型とオブジェクト型を区別する必要があります。
ファング 1: 長さ属性による: 一般に、オブジェクトには長さ属性値がなく、その値は定義されておらず、配列の長さの値は数値型です。
欠点: 非常に非現実的です。オブジェクトの属性に長さがあり、その値が数値である場合 (クラス配列など)、このメソッドは無効になります。使用はお勧めできません。ちょっと見てください。*パート 2:instanceof
を通じて区別を判断する
var arr = [1, 2, 3]; var obj = {name: 'lyl',age: 18, 1: 'name'}console.log(arr instanceof Array); //trueconsole.log(obj)配列のインスタンス); //false*Fang San: コンストラクター経由
var arr = [1, 2, 3]; var obj = {name: 'lyl',age: 18, 1: 'name'}console.log(arr.constructor === Array); //trueconsole .log(obj.constructor === 配列); //false
以上がデータが配列であるかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。