JavaScriptで変数がオブジェクトか配列かを判断する方法の紹介

巴扎黑
リリース: 2017-07-18 17:02:10
オリジナル
1311 人が閲覧しました
  1. 配列であろうとオブジェクトであろうと、typeof操作の戻り値はオブジェクトであるため、配列型とオブジェクト型を区別する必要があります:

  2. ファング1: length属性を通して: 一般的に、オブジェクトには長さの属性値がなく、その値は定義されておらず、配列の長さの値は数値型です

  3. 欠点: オブジェクトの属性が長さであり、その値が数値である場合、これは非常に非現実的です。クラス配列など)の場合、このメソッドは無効になりますので、確認するだけで使用することをお勧めします。

  4. * 方法 2:instanceof を使用して違いを判断する

  5. 1.instanceof

var arr = [1, 2, 3];
var obj = {
name: ' lyl ',
年齢: 18,
l: '名前'
}
console.log(arr instanceof Array) //true
console.log(obj instanceof Array); //false 2 .constructor

var arr = [1, 2, 3];

var obj = {
name: 'lyl',
age: 18,
1: 'name'
}
console . log(arr.constructor === 配列); //true
console.log(obj.constructor === 配列); //false
3.Object.prototype.toString()

= [1, 2, 3];

var obj = {
名前: 'lyl',
年齢: 18,
1: '名前'
}
console.log(Object.prototype.toString . call(arr) === '[オブジェクト配列]') //true
console.log(Object.prototype.toString.call(boj) === '[オブジェクト配列]');
4. 配列の唯一のメソッド (sort、pop など)
var arr = [1, 2, 3];

var obj = {
name: 'lyl',
age : 18,
1: '名前'
}

console.log(arr.sort === Array.prototype.sort); //true
console.log(obj.sort === Array.prototype.ソート); / /false

以上がJavaScriptで変数がオブジェクトか配列かを判断する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート