Bonjour,
Je fais un tableau associatif avec mon Tableau objet Array()
Le probleme est lorsque je fais un MonTableau.length il me retourne zero alors que le tableau contient des données. Suis je obligé de faire un For in avec un compteur ??
Merci![]()
Bonjour,
Je fais un tableau associatif avec mon Tableau objet Array()
Le probleme est lorsque je fais un MonTableau.length il me retourne zero alors que le tableau contient des données. Suis je obligé de faire un For in avec un compteur ??
Merci![]()
Bonjour,
Il me semble que le "for in" est la seule solution pour obtenir la taille d'un tableau associatif en javascript.
A+
tu dois surement avoir un objet de type object et non array
fait un alert(typeof tontableau);
Oui c'est cas bien sur vue que MonTableau = new Array()
Mais comment je fais pour avoir sa taille ? si MonTableau.length = 0 alors qu'il contient des lignes ?
sujet déja traité il faut en effet passer par une boucle for each et tester hasOwnProperty puis incrémenter un compteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <script type='text/javascript'> Array.prototype.MyLength=ArrayLength function ArrayLength(){ var lg=0; for (ind in this){ if(this.hasOwnProperty(ind)){ lg++} } return lg;} var tabAssDom= new Array() tabAssDom[30] = "abc" tabAssDom[25] = "dbc" tabAssDom[15] = "dbc" var a=tabAssDom.MyLength() alert (a) </script>
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
il s'agit en fait d'un hash et non pas d'un array a proprement parler, donc seule façon : parcourir la collection ...
astuce par contre pour savoir si un élément se trouve dans ton tableau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function retourTableau(){ var MonTableau = new Array() MonTableau['Lundi'] = 'Travail'; MonTableau['Mardi'] = 'Sport'; MonTableau['Mercredi'] = 'Voyage'; return MonTableau; } var TabASSo = retourTableau(); alert(TabASSo["Lundi"]); if ("Lundi" in TabASSo) // returns true or false { alert('true'); }
Merci beaucoup pour la réponse et l'astuce !!!
see you soon =)
Partager