Révision 502101 sur Array

  • Raccourci de la révision : JavaScript/Reference/Global_Objects/Array
  • Titre de la révision : Array
  • ID de la révision : 502101
  • Créé :
  • Créateur : antham
  • Version actuelle ? Non
  • Commentaire

Contenu de la révision

Résumé

L'objet global Array est un constructeur de tableaux, qui sont des objets de haut niveau s'apparentant aux listes.

Syntaxe

[element0, element1, ..., elementN]
new Array(element0, element1, ..., elementN)
new Array(arrayLength)
element0, element1, ..., elementN
Un tableau en javascript est initialisé avec les éléments passés en paramètre, à l'exception du cas où un seul argument est passé au constructeur de l'objet Array et que cet argument est un chiffre. (Voir ci-dessous.) A noter que ce cas particulier s'applique aux tableaux créent avec le constructeur de l'objet Array , non pas aux tableaux litérales créent avec la syntaxe des crochets.
arrayLength
Si le seul argument passé au constructeur de l'objet Array  est un entier entre 0 et 232-1 (inclus), un nouveau tableau vide est retourné avec sa taille définie par cet entier et contenant autant d'entrées, chacune étant initialisée à undefined. Si l'argument est n'importe quel autre nombre, une exception RangeError est levée.

Description

Les tableaux sont des objets s'apparentant aux listes qui possèdent plusieurs méthodes de base pour exécuter des opérations de parcours et de mutation. Ni la taille du tableau en Javascript ni le type de ses éléments n'est fixé. Comme la taille d'un tableau peut augmenter ou diminuer à n'importe quel moment, les tableaux en Javascript ne sont pas garantis denses. Globalement ce sont des charactéristiques utiles, mais si ces fonctionnalités ne sont pas souhaitable pour votre cas d'utilisation, vous pouvez considérer l'utilisation de tableaux de type WebGL.

Noter que vous ne devez pas utiliser les tableaux en tant que tableau associatif. Vous pouvez utiliser des objets ordinaire à la place, bien que cette pratique à ses propres défauts. Voir le post Lightweight JavaScript dictionaries with arbitrary keys comme exemple.

Accéder aux éléments d'un tableau

Les tableaux en Javascript sont indexés à zéro; le premier élément d'un tableau est en réalité à l'index 0, et le dernier élément est à l'index égal à la valeur de la propriété length du tableau moins 1.

var arr = ["this is the first element", "this is the second element"];
console.log(arr[0]);              // prints "this is the first element"
console.log(arr[1]);              // prints "this is the second element"
console.log(arr[arr.length - 1]); // prints "this is the second element"

Les éléments d'un tableau sont simplement des propriétés d'objets, de la même manière que toString est une propriété. Cependant, constater qu'essayer d'accéder au premier élément d'un tableau comme suit lèvera une erreur:

console.log(arr.0);

Voyez qu'il n'y a rien d'unique au fait que les tableaux en Javascript et leurs propriétés cause ça. Les propriétés en Javascript qui commencent par un chiffre, ne peuvent pas être référencées avec la notation pointée. Elles doivent être accédés en utilisant les crochets. Par exemple, si vous avez un objet avec une propriété "3d", elle aussi sera accessible en utilisant la notation en crochet et non pas en utilisant la notation pointée. Cette ressemblance est montrée dans les 2 échantillons de code suivant:

var years = [1950, 1960, 1970, 1980, 1990, 2000, 2010];
try {
  console.log(years.0);
}
catch (ex) {
  console.log("Using bracket notation");
  console.log(years[0]);
}
try {
  renderer.3d.setTexture(model, "character.png");
}
catch (ex) {
  console.log("Using bracket notation");
  renderer["3d"].setTexture(model, "character.png");
}

On remarque que dans l'exemple 3d, "3d" doit etre mis entre guillemets. Il est possible de mettre entre guillemets les index des tableaux également (ex: years["2"] au lieu de years[2]), bien que ce ne soit pas nécessaire. Le 2 dans years[2] peut éventuellement être forcé en chaine de caractère par le moteur Javascript, par n'importe quel moyen, au travers d'une conversion toString implicite. C'est pour cette raison que "2" et "02" feront références à 2 emplacements sur l'objet years et l'exemple suivant renvoit true:

console.log(years["2"] != years["02"]);

Relation entre length et les propriétés numériques

La propriété Javascript des tableaux length et les propriétés numériques sont liées. Plusieurs méthodes natives des tableaux (ex: join, slice, indexOf, etc.) prennent en considération la valeur de la propriété length quand elles sont appelées. Les autres méthodes (ex: push, splice, etc.) ont pour conséquences une mise à jour de la propriété length.

var fruits = [];
fruits.push("banana", "apple", "peach");

console.log(fruits.length); // 3

Quand on définit une propriété en javascript, que la propriété est un index valide et que l'index et en dehors des limites du tableau actuel, le tableau s'agrandira suffisamment afin de pouvoir recevoir l'index et le moteur mettra à jour la propriété length conformément:

fruits[3] = "mango";
console.log(fruits[3]);
console.log(fruits.length); // 4

Définir la propriété length, directement, produit un comportement particulier.

fruits.length = 10;
console.log(fruits);        // The array gets padded with undefined
console.log(fruits.length); // 10

Ceci est expliqué plus en détail sur la page de length.

Créer un tableau en utilisant le résultat d'une correspondance

Le résultat d'une correspondance entre une expression régulière et une chaine de caractère peut créer un tableau Javascript. Ce tableau a des propriétés et des éléments qui fournissent des informations au sujet de la correspondance.Un tableau est la valeur de retour de RegExp.exec, String.match, et String.replace. Pour aider à comprendre ces propriétés et ces éléments, regardez les exemples suivants, puis référez-vous à la table en dessous:

// Match one d followed by one or more b's followed by one d
// Remember matched b's and the following d
// Ignore case

var myRe = /d(b+)(d)/i;
var myArray = myRe.exec("cdbBdbsbz");

Les propriétés et éléments retournés de cette correspondance sont comme suit:

Propriété/Elément Description Exemple
input Une propriété en lecture-seule qui reflète la chaine de caractère d'origine contre laquelle l'expression régulière a été executée. cdbBdbsbz
index Une propriété en lecture-seule qui est l'index à zéro de la correspondance dans la chaine. 1
[0] Un élément en lecture-seule qui détermine le dernier caractère de la corrsepondance. dbBd
[1], ...[n] Read-only elements that specify the parenthesized substring matches, if included in the regular expression. The number of possible parenthesized substrings is unlimited. [1]: bB
[2]: d

Properties

{{ Js_see_prototype("Array", "Properties") }}

prototype
Allows the addition of properties to all objects.
{{ jsOverrides("Function", "Properties", "prototype") }}

Methods

{{ Js_see_prototype("Array", "Methods") }}
isArray {{ js_minversion_inline("1.8.5") }}
Return true if a variable is an array, if not false.

Array instances

Array instances inherit from Array.prototype. As with all constructors, you can change the constructor's prototype object to make changes to all JavaScript Array instances.

Properties

{{ page('en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype', 'Properties') }}

Methods

Mutator methods

{{ page('en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype', 'Mutator_methods') }}

Accessor methods

{{ page('en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype', 'Accessor_methods') }}

Iteration methods

{{ page('en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype', 'Iteration_methods') }}

Examples

Example: Creating an array

The following example creates an array, msgArray, with a length of 0, then assigns values to msgArray[0] and msgArray[99], changing the length of the array to 100.

var msgArray = new Array();
msgArray[0] = "Hello";
msgArray[99] = "world";

if (msgArray.length == 100)
   print("The length is 100.");

Example: Creating a two-dimensional array

The following creates chess board as a two dimensional array of strings. The first move is made by copying the 'p' in 6,4 to 4,4. The old position 6,4 is made blank.

var board = 
[ ['R','N','B','Q','K','B','N','R'],
  ['P','P','P','P','P','P','P','P'],
  [' ',' ',' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' ',' ',' '],
  ['p','p','p','p','p','p','p','p'],
  ['r','n','b','q','k','b','n','r']];
print(board.join('\n') + '\n\n');

// Move King's Pawn forward 2
board[4][4] = board[6][4];
board[6][4] = ' ';
print(board.join('\n'));

Here is the output:

R,N,B,Q,K,B,N,R
P,P,P,P,P,P,P,P
 , , , , , , , 
 , , , , , , , 
 , , , , , , , 
 , , , , , , , 
p,p,p,p,p,p,p,p
r,n,b,q,k,b,n,r

R,N,B,Q,K,B,N,R
P,P,P,P,P,P,P,P
 , , , , , , , 
 , , , , , , , 
 , , , ,p, , , 
 , , , , , , , 
p,p,p,p, ,p,p,p
r,n,b,q,k,b,n,r

Browser compatibility

{{ CompatibilityTable }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support {{ CompatVersionUnknown }} {{ CompatVersionUnknown }} {{ CompatVersionUnknown }} {{ CompatVersionUnknown }} {{ CompatVersionUnknown }}
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support {{ CompatVersionUnknown }} {{ CompatVersionUnknown }} {{ CompatVersionUnknown }} {{ CompatVersionUnknown }} {{ CompatVersionUnknown }}

See also

Source de la révision

<h2 id="R.C3.A9sum.C3.A9">Résumé</h2>
<p>L'objet global <code>Array</code> est un constructeur de tableaux, qui sont des objets de haut niveau s'apparentant aux listes.</p>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="syntaxbox">
[<var>element0</var>, <var>element1</var>, ..., <var>elementN</var>]
new Array(<em>element0</em>, <em>element1</em>, ..., <em>elementN</em>)
new Array(<em>arrayLength</em>)
</pre>
<dl>
 <dt>
  <code><var>element0</var>, <var>element1</var>, ..., <var>elementN</var> </code></dt>
 <dd>
  Un tableau en javascript est initialisé avec les éléments passés en paramètre, à l'exception du cas où un seul argument est passé au constructeur de l'objet <code>Array</code> et que cet argument est un chiffre. (Voir ci-dessous.) A noter que ce cas particulier s'applique aux tableaux créent avec le constructeur de l'objet<code> Array</code> , non pas aux tableaux litérales créent avec la syntaxe des crochets.</dd>
 <dt>
  <code><var>arrayLength</var></code></dt>
 <dd>
  Si le seul argument passé au constructeur de l'objet <code>Array</code>&nbsp; est un entier entre 0 et 2<sup>32</sup>-1 (inclus), un nouveau tableau vide est retourné avec sa taille définie par cet entier et contenant autant d'entrées, chacune étant initialisée à <code>undefined</code>. Si l'argument est n'importe quel autre nombre, une exception <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/RangeError" title="JavaScript/Reference/Global_Objects/RangeError">RangeError</a></code> est levée.</dd>
</dl>
<h2 id="Description">Description</h2>
<p>Les tableaux sont des objets s'apparentant aux listes qui possèdent plusieurs méthodes de base pour exécuter des opérations de parcours et de mutation. Ni la taille du tableau en Javascript ni le type de ses éléments n'est fixé. Comme la taille d'un tableau peut augmenter ou diminuer à n'importe quel moment, les tableaux en Javascript ne sont pas garantis denses. Globalement ce sont des charactéristiques utiles, mais si ces fonctionnalités ne sont pas souhaitable pour votre cas d'utilisation, vous pouvez considérer l'utilisation de tableaux de type WebGL.</p>
<p>Noter que <a href="http://www.andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/">vous ne devez pas utiliser les tableaux en tant que tableau associatif</a>. Vous pouvez utiliser des <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Object" title="JavaScript/Reference/Global Objects/Object">objets</a> ordinaire à la place, bien que cette pratique à ses propres défauts. Voir le post <a class="external" href="http://monogatari.doukut.su/2010/12/lightweight-javascript-dictionaries.html" title="http://monogatari.doukut.su/2010/12/lightweight-javascript-dictionaries.html">Lightweight JavaScript dictionaries with arbitrary keys</a> comme exemple.</p>
<h3 id="Acc.C3.A9der_aux_.C3.A9l.C3.A9ments_d'un_tableau">Accéder aux éléments d'un tableau</h3>
<p>Les tableaux en Javascript sont indexés à zéro; le premier élément d'un tableau est en réalité à l'index <code>0</code>, et le dernier élément est à l'index égal à la valeur de la propriété <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/length" title="JavaScript/Reference/Global_Objects/Array/length"><code>length</code></a> du tableau moins 1.</p>
<pre class="brush: js">
var arr = ["this is the first element", "this is the second element"];
console.log(arr[0]);              // prints "this is the first element"
console.log(arr[1]);              // prints "this is the second element"
console.log(arr[arr.length - 1]); // prints "this is the second element"
</pre>
<p>Les éléments d'un tableau sont simplement des propriétés d'objets, de la même manière que <code><a href="/en-US/docs/toString" title="toString">toString</a></code> est une propriété. Cependant, constater qu'essayer d'accéder au premier élément d'un tableau comme suit lèvera une erreur:</p>
<pre class="brush: js">
console.log(arr.0);
</pre>
<p>Voyez qu'il n'y a rien d'unique au fait que les tableaux en Javascript et leurs propriétés cause ça. Les propriétés en Javascript qui commencent par un chiffre, ne peuvent pas être référencées avec la notation pointée. Elles doivent être accédés en utilisant les crochets. Par exemple, si vous avez un objet avec une propriété "3d", elle aussi sera accessible en utilisant la notation en crochet et non pas en utilisant la notation pointée. Cette ressemblance est montrée dans les 2 échantillons de code suivant:</p>
<pre class="brush: js">
var years = [1950, 1960, 1970, 1980, 1990, 2000, 2010];
try {
  console.log(years.0);
}
catch (ex) {
  console.log("Using bracket notation");
  console.log(years[0]);
}
</pre>
<pre class="brush: js">
try {
  renderer.3d.setTexture(model, "character.png");
}
catch (ex) {
  console.log("Using bracket notation");
  renderer["3d"].setTexture(model, "character.png");
}
</pre>
<p>On remarque que dans l'exemple <code>3d</code>, "<code>3d</code>" doit etre mis entre guillemets. Il est possible de mettre entre guillemets les index des tableaux également (ex: <code>years["2"]</code> au lieu de <code>years[2]</code>), bien que ce ne soit pas nécessaire. Le 2 dans <code>years[2]</code> peut éventuellement être forcé en chaine de caractère par le moteur Javascript, par n'importe quel moyen, au travers d'une conversion <code>toString</code> implicite. C'est pour cette raison que "2" et "02" feront références à 2 emplacements sur l'objet <code>years</code> et l'exemple suivant renvoit <code>true</code>:</p>
<pre class="brush: js">
console.log(years["2"] != years["02"]);
</pre>
<h3 id="Relation_entre_length_et_les_propri.C3.A9t.C3.A9s_num.C3.A9riques">Relation entre <code>length</code> et les propriétés numériques</h3>
<p>La propriété Javascript des tableaux <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/length" title="JavaScript/Reference/Global_Objects/Array/length">length</a></code> et les propriétés numériques sont liées. Plusieurs méthodes natives des tableaux (ex: <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/join" title="JavaScript/Reference/Global_Objects/Array/join">join</a></code>, <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/slice" title="JavaScript/Reference/Global_Objects/Array/slice">slice</a></code>, <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf" title="JavaScript/Reference/Global_Objects/Array/indexOf">indexOf</a></code>, etc.) prennent en considération la valeur de la propriété <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/length" title="JavaScript/Reference/Global_Objects/Array/length">length</a> quand </code>elles sont appelées. Les autres méthodes (ex: <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/push" title="JavaScript/Reference/Global_Objects/Array/push">push</a></code>, <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/splice" title="JavaScript/Reference/Global_Objects/Array/splice">splice</a></code>, etc.) ont pour conséquences une mise à jour de la propriété <code>length</code>.</p>
<pre class="brush: js">
var fruits = [];
fruits.push("banana", "apple", "peach");

console.log(fruits.length); // 3</pre>
<p>Quand on définit une propriété en javascript, que la propriété est un index valide et que l'index et en dehors des limites du tableau actuel, le tableau s'agrandira suffisamment afin de pouvoir recevoir l'index et le moteur mettra à jour la propriété <code>length</code> conformément:</p>
<pre class="brush: js">
fruits[3] = "mango";
console.log(fruits[3]);
console.log(fruits.length); // 4</pre>
<p>Définir la propriété <code>length</code>, directement, produit un comportement particulier.</p>
<pre class="brush: js">
fruits.length = 10;
console.log(fruits);        // The array gets padded with undefined
console.log(fruits.length); // 10
</pre>
<p>Ceci est expliqué plus en détail sur la page de <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/length" title="JavaScript/Reference/Global_Objects/Array/length"><code>length</code></a>.</p>
<h3 id="Cr.C3.A9er_un_tableau_en_utilisant_le_r.C3.A9sultat_d'une_correspondance">Créer un tableau en utilisant le résultat d'une correspondance</h3>
<p>Le résultat d'une correspondance entre une expression régulière et une chaine de caractère peut créer un tableau Javascript. Ce tableau a des propriétés et des éléments qui fournissent des informations au sujet de la correspondance.Un tableau est la valeur de retour de RegExp.exec, String.match, et String.replace. Pour aider à comprendre ces propriétés et ces éléments, regardez les exemples suivants, puis référez-vous à la table en dessous:</p>
<pre class="brush: js">
// Match one d followed by one or more b's followed by one d
// Remember matched b's and the following d
// Ignore case

var myRe = /d(b+)(d)/i;
var myArray = myRe.exec("cdbBdbsbz");
</pre>
<p>Les propriétés et éléments retournés de cette correspondance sont comme suit:</p>
<table class="fullwidth-table">
 <tbody>
  <tr>
   <td class="header">Propriété/Elément</td>
   <td class="header">Description</td>
   <td class="header">Exemple</td>
  </tr>
  <tr>
   <td><code>input</code></td>
   <td>Une propriété en lecture-seule qui reflète la chaine de caractère d'origine contre laquelle l'expression régulière a été executée.</td>
   <td>cdbBdbsbz</td>
  </tr>
  <tr>
   <td><code>index</code></td>
   <td>Une propriété en lecture-seule qui est l'index à zéro de la correspondance dans la chaine.</td>
   <td>1</td>
  </tr>
  <tr>
   <td><code>[0]</code></td>
   <td>Un élément en lecture-seule qui détermine le dernier caractère de la corrsepondance.</td>
   <td>dbBd</td>
  </tr>
  <tr>
   <td><code>[1], ...[n]</code></td>
   <td>Read-only elements that specify the parenthesized substring matches, if included in the regular expression. The number of possible parenthesized substrings is unlimited.</td>
   <td>[1]: bB<br />
    [2]: d</td>
  </tr>
 </tbody>
</table>
<h2 id="Properties">Properties</h2>
<p>{{ Js_see_prototype("Array", "Properties") }}</p>
<dl>
 <dt>
  <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype" title="JavaScript/Reference/Global_Objects/Array/prototype">prototype</a></dt>
 <dd>
  Allows the addition of properties to all objects.</dd>
</dl>
<div>
 {{ jsOverrides("Function", "Properties", "prototype") }}</div>
<h2 id="Methods">Methods</h2>
<div>
 {{ Js_see_prototype("Array", "Methods") }}</div>
<dl>
 <dt>
  <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/isArray" title="JavaScript/Reference/Global Objects/Array/isArray">isArray</a> {{ js_minversion_inline("1.8.5") }}</dt>
 <dd>
  Return true if a variable is an array, if not false.</dd>
</dl>
<h2 id="Array_instances"><code>Array</code> instances</h2>
<p><code>Array</code> instances inherit from<span style="font-family: monospace;"> <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype" title="Core_JavaScript_1.5_Reference/Global_Objects/Array/prototype">Array.prototype</a></code></span>. As with all constructors, you can change the constructor's prototype object to make changes to all JavaScript <code>Array</code> instances.</p>
<h3 id="Properties_of_Array_instances" name="Properties_of_Array_instances">Properties</h3>
<div>
 {{ page('en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype', 'Properties') }}</div>
<h3 id="Methods_of_Array_instances" name="Methods_of_Array_instances">Methods</h3>
<h4 id="Mutator_methods">Mutator methods</h4>
<div>
 {{ page('en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype', 'Mutator_methods') }}</div>
<h4 id="Accessor_methods"><span>Accessor methods</span></h4>
<div>
 {{ page('en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype', 'Accessor_methods') }}</div>
<h4 id="Iteration_methods"><span>Iteration methods</span></h4>
<div>
 {{ page('en-US/docs/JavaScript/Reference/Global_Objects/Array/prototype', 'Iteration_methods') }}</div>
<h2 id="Examples">Examples</h2>
<h3 id="Example.3A_Creating_an_array">Example: Creating an array</h3>
<p>The following example creates an array, <code>msgArray</code>, with a length of 0, then assigns values to <code>msgArray[0]</code> and <code>msgArray[99]</code>, changing the length of the array to 100.</p>
<pre class="brush: js">
var msgArray = new Array();
msgArray[0] = "Hello";
msgArray[99] = "world";

if (msgArray.length == 100)
   print("The length is 100.");
</pre>
<h3 id="Example.3A_Creating_a_two-dimensional_array">Example: Creating a two-dimensional array</h3>
<p>The following creates chess board as a two dimensional array of strings. The first move is made by copying the 'p' in 6,4 to 4,4. The old position 6,4 is made blank.</p>
<pre class="brush: js">
var board = 
[ ['R','N','B','Q','K','B','N','R'],
  ['P','P','P','P','P','P','P','P'],
  [' ',' ',' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' ',' ',' '],
  [' ',' ',' ',' ',' ',' ',' ',' '],
  ['p','p','p','p','p','p','p','p'],
  ['r','n','b','q','k','b','n','r']];
print(board.join('\n') + '\n\n');

// Move King's Pawn forward 2
board[4][4] = board[6][4];
board[6][4] = ' ';
print(board.join('\n'));
</pre>
<p>Here is the output:</p>
<pre class="eval">
R,N,B,Q,K,B,N,R
P,P,P,P,P,P,P,P
 , , , , , , , 
 , , , , , , , 
 , , , , , , , 
 , , , , , , , 
p,p,p,p,p,p,p,p
r,n,b,q,k,b,n,r

R,N,B,Q,K,B,N,R
P,P,P,P,P,P,P,P
 , , , , , , , 
 , , , , , , , 
 , , , ,p, , , 
 , , , , , , , 
p,p,p,p, ,p,p,p
r,n,b,q,k,b,n,r
</pre>
<h2 id="Browser_compatibility" name="Browser_compatibility">Browser compatibility</h2>
<p>{{ CompatibilityTable }}</p>
<div id="compat-desktop">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Chrome</th>
    <th>Firefox (Gecko)</th>
    <th>Internet Explorer</th>
    <th>Opera</th>
    <th>Safari (WebKit)</th>
   </tr>
   <tr>
    <td>Basic support</td>
    <td>{{ CompatVersionUnknown }}</td>
    <td>{{ CompatVersionUnknown }}</td>
    <td>{{ CompatVersionUnknown }}</td>
    <td>{{ CompatVersionUnknown }}</td>
    <td>{{ CompatVersionUnknown }}</td>
   </tr>
  </tbody>
 </table>
</div>
<div id="compat-mobile">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Android</th>
    <th>Firefox Mobile (Gecko)</th>
    <th>IE Phone</th>
    <th>Opera Mobile</th>
    <th>Safari Mobile</th>
   </tr>
   <tr>
    <td>Basic support</td>
    <td>{{ CompatVersionUnknown }}</td>
    <td>{{ CompatVersionUnknown }}</td>
    <td>{{ CompatVersionUnknown }}</td>
    <td>{{ CompatVersionUnknown }}</td>
    <td>{{ CompatVersionUnknown }}</td>
   </tr>
  </tbody>
 </table>
</div>
<h2 id="See_also" name="See_also">See also</h2>
<ul>
 <li><a href="/en-US/docs/JavaScript/Guide/Working_with_Objects#Indexing_object_properties" title="JavaScript/Guide/Working_with_objects#Indexing_object_properties">"Indexing object properties" in JavaScript Guide: "Working with objects"</a></li>
 <li><a href="/en-US/docs/JavaScript/New_in_JavaScript/1.7#Array_comprehensions" title="New_in_JavaScript_1.7#Array_comprehensions">New in JavaScript 1.7: Array comprehensions</a></li>
 <li><a href="/en-US/docs/JavaScript/New_in_JavaScript/1.6#Array_extras" title="New_in_JavaScript_1.6#Array_extras">New in JavaScript 1.6: Array extras</a></li>
 <li><a href="/en-US/docs/JavaScript_typed_arrays" title="JavaScript_typed_arrays">Draft: Typed Arrays</a></li>
</ul>
<p><!-- languages({
  "fr": "fr/JavaScript/R%C3%A9f%C3%A9rence_JavaScript/Objets_globaux/Array",
})--></p>
Revenir à cette révision