Maison > interface Web > js tutoriel > Introduction détaillée au tableau de jugement JS

Introduction détaillée au tableau de jugement JS

小云云
Libérer: 2018-01-25 13:14:07
original
1951 Les gens l'ont consulté

Comment juger un tableau ? Certains amis devraient le savoir, mais certains ne peuvent pas dire comment js juge les tableaux. L'éditeur ci-dessous a collecté et trié quelques informations pour vous sur ce problème. Les amis intéressés peuvent y jeter un œil. J'espère que vous pourrez maîtriser les connaissances de JS pour juger les tableaux.

opérateur typeof

typeof renverra une chaîne de ce type

 var a = '123'
 console.log(typeof(a)) //string
 var b = []
 console.log(typeof(b)) //object
 var c = {}
 console.log(typeof(c)) //object
 var d = null
 console.log(typeof(d)) //object
Copier après la connexion

Comme vu ci-dessus, l'objet tableau null est renvoyé par typeof et c'est tout un objet This. La méthode ne peut pas être reconnue. Qu'il s'agisse d'un tableau

Méthode de chaîne de constructeur de prototype

l'instanciation a un attribut de constructeur Cet attribut pointe vers la méthode qui génère le tableau d'objets

 var a = []
 console.log(a.__proto__.constructor) //ƒ Array() { [native code] }
 var b = {}
 console.log(b.__proto__.constructor) //ƒ Object() { [native code] }
Copier après la connexion
<.>Comme vu ci-dessus, le tableau est utilisé par la fonction Array. L'objet instancié est instancié par la fonction Object

Je pense que cette méthode est OK, mais l'attribut constructeur peut être remplacé

  var a = []
  a.__proto__.constructor = Object
  console.log(a.__proto__.constructor) //ƒ Object() { [native code] }
Copier après la connexion
Vous pouvez voir que ceci est devenu un tableau. On estime qu'il est devenu un objet, donc cette méthode n'est pas la meilleure

instanceof

Cette méthode consiste à déterminer si le. l'objet pointé par l'attribut prototype d'un certain constructeur est dans la chaîne de prototypes d'un autre objet à détecter

  var a = []
  console.log(a instanceof Array) //a对象的原型链上能找到Array true
  console.log(a instanceof Object) //true 原型链上也能找到对象
Copier après la connexion
Ce qui précède n'est pas particulièrement facile à déterminer s'il s'agit d'un tableau ou d'un objet

La méthode générale toString

la méthode toString() renvoie le caractère de cet objet String

Vous pouvez voir que seuls les objets renvoient des types d'objet
  var a= '123'
  console.log(a.toString()) //123
  var b = [1,2,3]
  console.log(b.toSting()) //1,2,3
  var c = {}
  console.log(c.toString)) //[object Object]
Copier après la connexion

Return Le type [type d'objet] représente le type d'objet

Jugez l'objet et utilisez la méthode toString de Object pour l'obtenir. Vous pouvez utiliser la méthode toString de

pour déterminer s'il est un tableau
 var a =[]
 Object.prototype.toString.call(a) //[object Array]
Copier après la connexion

Cependant, veuillez noter que le toString() sur le prototype de l'objet peut également être modifié

Personnellement, je pense que la méthode générale toString() est plus fiable<.>
Array.isArray(XX)
Copier après la connexion
Recommandations associées :

js détermine si le tableau contient une variable de chaîne

Explication détaillée de la façon d'utiliser la fonction in_array pour déterminer l'utilisation du tableau en JavaScript

Méthodes courantes pour PHP pour déterminer si un tableau est vide (cinq méthodes)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal