Maison > Article > interface Web > Introduction détaillée au tableau de jugement JS
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 instanceofCette 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'objetvar 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 tableauvar 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!