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

Introduction détaillée au tableau de jugement JS

小云云
小云云original
2018-01-25 13:14:071859parcourir

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

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] }
<.>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] }
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 原型链上也能找到对象
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]

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]

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)
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!

Déclaration:
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