Javascript est langage de programmation parfois pas piqué des vers! Des choses censées être relativement simples peuvent vite devenir relativement compliquées!
Un exemple… Dernièrement j’étais en train d’écrire un plugin pour jQuery, et il me fallait être certain que la variable sur laquelle j’allais travailler était bien un tableau (array). En PHP, rien de plus facile! Un petit is_array()
et en avant, on peut se concentrer sur la suite du code…
En Javascript par contre, que nenni! Il n’y a pas de fonction is_array()
Après quelques recherches sur google, j’ai finalement trouvé plusieurs méthodes:
- La première est d’utiliser la fonction
toString
deObject.prototype
. Il semblerait que ce soit la solution donnée par le standard ECMAScript:
1 2 3 |
|
- la deuxième solution, et celle-là, “je la kiffe à mort”, “c’est de la bombe bébé”, bref je l’aime vraiment bien, c’est d’en quelque sorte forcer le typage:
1
|
|
[]
est la représentation d’un tableau en Javascript. Ici on crée un tableau vide (aucun élément n’est spécifié entre les “[]”) auquel on ajoute notre variable. Si notre variable n’est pas un tableau, ce bout de code va simplement ajouter un élement au tableau vide (on se retrouvera donc avec un tableau contenant un élément). Si notre variable est déjà de type “Array”, tous les élements de notre variable seront ajoutés à la suite du tableau vide.
Sympa comme méthode, non? :)
- Une troisième solution, qui ne fonctionne que partiellement, est d’utiliser l’attribut
isArray
. Malheureusement cette méthode ne fonctionne pas avec tous les navigateurs. On peut donc utiliser une solution intermédiaire du style:
1 2 3 4 5 6 |
|