Comparaison de révisions

L'objet Array

Révision 254305 :

Révision 254305 par Meithal le

Révision 227062 :

Révision 227062 par Meithal le

Titre :
L'objet Array
L'objet Array
Identifiant d'URL :
JavaScript//Guide/Objets_prédéfinis/L'objet_Array
JavaScript//Guide/Objets_prédéfinis/L'objet_Array
Contenu :

Révision 254305
Révision 227062
t7    <h3 id="L.27objet_Array" name="L.27objet_Array">t
8      L'objet Array
9    </h3>
10    <p>
11      JavaScript ne dispose pas d'un type de données explicite po
>ur les tableaux. Cependant, il est possible d'utiliser l'objet pr 
>édéfini <code>Array</code> et ses méthodes pour travailler avec d 
>es tableaux dans vos applications. L'objet <code>Array</code> dis 
>pose de méthodes pour manipuler des tableaux de diverses manières 
>, comme des fusions, des inversions et des tris. Une de ses propr 
>iétés permet de déterminer la longueur du tableau et d'autres peu 
>vent être combinées avec des expressions rationnelles. 
12    </p>
13    <p>
14      Un <i>tableau</i> (array) est un ensemble ordonné de valeur
>s auxquelles on peut se référer avec un nom et un index. Par exem 
>ple, vous pourriez avoir un tableau appelé <code>emp</code> conte 
>nant des noms d'employés indexés par leur numéro d'employé. Ainsi 
>, <code>emp{{ mediawiki.external("1") }}</code> serait l'employé  
>numéro un, <code>emp{{ mediawiki.external("2") }}</code> l'employ 
>é numéro deux, et ainsi de suite. 
15    </p>
16    <h4 id="Cr.C3.A9ation_d.27un_objet_Array" name="Cr.C3.A9ation
>_d.27un_objet_Array"> 
17      Création d'un objet Array
18    </h4>
19    <p>
20      Pour créer un objet <code>Array</code>&nbsp;:
21    </p>
22    <pre>
231. nomObjetArray = new Array(element0, element1, ..., elementN)
242. nomObjetArray = new Array(longueur)
25</pre>
26    <p>
27      <code>nomObjetArray</code> est soit le nom d'un nouvel obje
>t, soit la propriété d'un objet existant. Lors de l'utilisation d 
>es propriétés et méthodes de <code>Array</code>, nomObjetArray es 
>t soit le nom d'un objet <code>Array</code> existant, soit une pr 
>opriété d'un objet existant. 
28    </p>
29    <p>
30      <code>element0, element1, ..., elementN</code> est une list
>e de valeurs pour les éléments du tableau. Lorsque cette forme es 
>t utilisée, le tableau est initialisé avec les valeurs spécifiées 
> comme éléments, et la propriété <code>length</code> du tableau e 
>st positionnée au nombre de paramètres. 
31    </p>
32    <p>
33      <code>longueur</code> est la longueur initiale du tableau. 
>Le code suivant crée un tableau de cinq éléments&nbsp;: 
34    </p>
35    <pre class="eval">
36modeDePaiement = new Array(5);
37</pre>
38    <p>
39      Les déclarations littérales de tableaux sont également des 
>objets <code>Array</code>&nbsp;; par exemple la déclaration suiva 
>nte est un objet <code>Array</code>. Consultez <a href="fr/Guide_ 
>JavaScript_1.5/Constantes_litt%c3%a9rales#Tableaux">Tableaux</a>  
>pour plus de détails sur les déclarations littérales de tableaux. 
40    </p>
41    <pre class="eval">
42cafés = ["Arabica", "Expresso", "Cappuccino"];
43</pre>
44    <h4 id="Remplissage_d.27un_tableau" name="Remplissage_d.27un_
>tableau"> 
45      Remplissage d'un tableau
46    </h4>
47    <p>
48      Il est possible de remplir un tableau en assignant des vale
>urs à ses éléments. Par exemple, 
49    </p>
50    <pre class="eval">
51emp[1] = "Carine Dumas";
52emp[2] = "Philippe Legrand";
53emp[3] = "Adrien West";
54</pre>
55    <p>
56      Vous pouvez également remplir un tableau lors de sa créatio
>n: 
57    </p>
58    <pre class="eval">
59monTableau = new Array("Hello", maVariable, 3.14159);
60</pre>
61    <h4 id="R.C3.A9f.C3.A9rences_aux_.C3.A9l.C3.A9ments_d.27un_ta
>bleau" name="R.C3.A9f.C3.A9rences_aux_.C3.A9l.C3.A9ments_d.27un_t 
>ableau"> 
62      Références aux éléments d'un tableau
63    </h4>
64    <p>
65      On se réfère aux éléments d'un tableau à l'aide des index o
>rdinaux de ces éléments. Par exemple, supposons que vous définiss 
>iez le tableau suivant&nbsp;: 
66    </p>
67    <pre class="eval">
68monTableau = new Array("Vent", "Pluie", "Feu");
69</pre>
70    <p>
71      Vous ferez alors référence au premier élément du tableau en
> appelant <code>monTableau{{ mediawiki.external("0") }}</code> et 
> au second élément en appelant <code>monTableau{{ mediawiki.exter 
>nal("1") }}</code>. 
72    </p>
73    <p>
74      Les index des éléments commencent à zéro (0), mais la longu
>eur du tableau (par exemple, <code>monTableau.length</code>) refl 
>ète le nombre d'éléments dans le tableau. Cette longueur est obte 
>nue en ajoutant un au plus grand index du tableau. 
75    </p>
76    <h4 id="M.C3.A9thodes_de_l.27objet_Array" name="M.C3.A9thodes
>_de_l.27objet_Array"> 
77      Méthodes de l'objet Array
78    </h4>
79    <p>
80      L'objet <code>Array</code> dispose des méthodes suivantes&n
>bsp;: 
81    </p>
82    <ul>
83      <li>
84        <code>concat</code> fusionne deux tableaux et renvoie un 
>nouveau tableau. 
85        <pre>
86    monTableau = new Array("1", "2", "3");
87    monTableau = myArray.concat("a", "b", "c"); // monTableau est
> maintenant ["1", "2", "3", "a", "b", "c"] 
88</pre>
89      </li>
90      <li>
91        <code>join(deliminateur = ",")</code> liste tous les élém
>ents d'un tableau dans une chaîne. 
92        <pre>
93    monTableau = new Array("Vent", "Pluie", "Feu");
94    liste = monTableau.join(" - "); // liste est "Vent - Pluie - 
>Feu" 
95</pre>
96      </li>
97      <li>
98        <code>pop</code> retire le dernier élément d'un tableau e
>t renvoie cet élément. 
99        <pre>
100    monTableau = new Array("1", "2", "3");
101    dernier = monTableau.pop(); // monTableau devient ["1", "2"],
> dernier = "3" 
102</pre>
103      </li>
104      <li>
105        <code>push</code> ajoute un ou plusieurs éléments en fin 
>de tableau et renvoie le dernier élément ajouté. 
106        <pre>
107    monTableau = new Array("1", "2");
108    monTableau.push("3"); // monTableau devient ["1", "2", "3"]
109</pre>
110      </li>
111      <li>
112        <code>reverse</code> transpose les éléments d'un tableau&
>nbsp;: le premier élément devient le dernier et le dernier devien 
>t le premier. 
113        <pre>
114    monTableau = new Array ("1", "2", "3");
115    monTableau.reverse(); // transpose le tableau monTableau en [
> "3", "2", "1" ] 
116</pre>
117      </li>
118      <li>
119        <code>shift</code> retire le premier élément d'un tableau
> et renvoie cet élément 
120        <pre>
121    monTableau = new Array ("1", "2", "3");
122    premier = monTableau.shift(); // monTableau devient ["2", "3"
>], premier vaut "1" 
123</pre>
124      </li>
125      <li>
126        <code>slice (start_index, upto_index)</code> extrait une 
>section d'un tableau et renvoie un nouveau tableau. 
127        <pre>
128    monTableau = new Array ("a", "b", "c", "d", "e");
129    monTableau = monTableau.slice(1,4); //commence à l'index 1 et
> extrait tous les éléments jusqu'à 4, renvoie [ "b", "c", "d" ] 
130</pre>
131      </li>
132      <li>
133        <code>splice(index, nombre_suppr, ajelement1, ajelement2,
> ...)</code> ajoute et/ou supprime des éléments d'un tableau. 
134        <pre>
135    monTableau = new Array ("1", "2", "3", "4", "5");
136    monTableau.splice(1, 3, "a", "b", "c", "d"); // monTableau de
>vient ["1", "a", "b", "c", "d", "5"] 
137    // le code commence à l'index un (où se trouve "2"), retire t
>rois éléments à cet endroit et insère ensuite les éléments qui su 
>ivent à la place 
138</pre>
139      </li>
140      <li>
141        <code>sort</code> trie les éléments d'un tableau.
142        <pre>
143    monTableau = new Array("Vent", "Pluie", "Feu");
144    monTableau.sort(); // trie le tableau de sorte que monTableau
> = [ "Feu", "Pluie", "Vent" ] 
145</pre>
146        <p>
147          <code>sort</code> peut également recevoir une fonction 
>de callback pour déterminer la façon dont le contenu du tableau s 
>era trié. La fonction compare les deux valeurs et renvoie une de  
>ces trois valeurs&nbsp;: 
148        </p>
149        <ul>
150          <li>Si a est inférieur à b selon le système de tri, ren
>voie -1 (ou n'importe quel nombre négatif) 
151          </li>
152          <li>Si a est supérieur à b selon le système de tri, ren
>voie 1 (ou n'importe quel nombre positif) 
153          </li>
154          <li>Si a et b sont considérés comme équivalents, renvoi
>e 0. 
155          </li>
156        </ul>
157        <p>
158          Par exemple, le code suivant triera un tableau par la d
>ernière lettre des éléments&nbsp;: 
159        </p>
160        <pre>
161    var sortFn = function(a,b){
162        if (a[a.length - 1] &lt; b[b.length - 1]) return -1;
163        if (a[a.length - 1] &gt; b[b.length - 1]) return 1;
164        if (a[a.length - 1] == b[b.length - 1]) return 0;
165        }
166    monTableau.sort(sortFn); // trie le tableau de sorte que monT
>ableau = ["Pluie", "Vent", "Feu"] 
167</pre>
168      </li>
169      <li>
170        <code>unshift</code> ajoute un ou plusieurs éléments au d
>ébut d'un tableau et renvoie la nouvelle longueur du tableau. 
171      </li>
172      <li style="list-style: none; display: inline">
173        <h4 id="Tableaux_bidimensionnels" name="Tableaux_bidimens
>ionnels"> 
174          Tableaux bidimensionnels
175        </h4>
176        <p>
177          Le code suivant crée un tableau bidimensionnel.
178        </p>
179        <pre>
180a = new Array(4)
181for (i=0; i &lt; 4; i++) {
182   a[i] = new Array(4)
183   for (j=0; j &lt; 4; j++) {
184      a[i][j] = "["+i+","+j+"]"
185   }
186}
187</pre>
188        <p>
189          Cet exemple crée un tableau contenant les lignes suivan
>tes&nbsp;: 
190        </p>
191        <pre>
192Ligne 0 : [0,0][0,1][0,2][0,3]
193Ligne 1 : [1,0][1,1][1,2][1,3]
194Ligne 2 : [2,0][2,1][2,2][2,3]
195Ligne 3 : [3,0][3,1][3,2][3,3]
196</pre>
197        <h4 id="Tableaux_et_expressions_rationnelles" name="Table
>aux_et_expressions_rationnelles"> 
198          Tableaux et expressions rationnelles
199        </h4>
200        <p>
201          Lorsqu'un tableau est le résultat d'une correspondance 
>entre une expression régulière et une chaîne, le tableau renvoie  
>des propriétés et des éléments fournissant des informations conce 
>rnant les correspondances. Les valeurs de retour de <code>RegExp. 
>exec</code>, <code>String.match</code> et <code>String.split</cod 
>e> sont des tableaux. Pour plus d'informations sur l'utilisations 
> de tableaux avec des expressions rationnelles, consultez <a href 
>="fr/Guide_JavaScript_1.5/Expressions_rationnelles">Expressions r 
>ationnelles</a>. 
202        </p>
203        <p>
204          {{ PrécédentSuivant("Guide JavaScript 1.5:Objets prédéf
>inis", "Guide JavaScript 1.5:Objets prédéfinis:L\'objet Boolean") 
> }} 
205        </p>
206        <div class="noinclude"></div>
207      </li>
208    </ul>{{ languages( { "en": "en/Core_JavaScript_1.5_Guide/Pred
>efined_Core_Objects/Array_Object", "es": "es/Core_JavaScript_1.5_ 
>Guide/Predefined_Core_Objects/Objeto_Array", "ja": "ja/Core_JavaS 
>cript_1.5_Guide/Predefined_Core_Objects/Array_Object", "ko": "ko/ 
>Core_JavaScript_1.5_Guide/Predefined_Core_Objects/Array_Object",  
>"pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Obiekty_predef 
>iniowane/Obiekt_Array" } ) }} 

Retour à l'historique