La methode Array.of() permet de créer une nouvelle instance d'objet Array avec un nombre variable d'argument, quels que soient leur nombre ou leur type.

La différence entre Array.of() et le constructeur Array se situe dans la gestion de d'arguments entiers : Array.of(7) crée un tableau avec un seul élément, 7, tandis que Array(7) produit un tableau avec 7 éléments vides (à ne pas confondre avec des éléments qui auraient explicitement la valeur undefined).

Syntaxe

Array.of(element0[, element1[, ...[, elementN]]])

Paramètres

element0, element1, ..., elementN
Les éléments avec lesquels on souhaite construire le nouveau tableau.

Valeur de retour

Une nouvelle instance de Array.

Description

Cette fonction fait partie du standard ECMAScript 2015. Pour plus d'informations, voir les pages sur la proposition pour Array.of et Array.from ainsi que la page sur le fragment d'émulation pour Array.of.

Array.of(7);       // [7]
Array.of(1, 2, 3); // [1, 2, 3]

Array(7);          // [ , , , , , , ]
Array(1, 2, 3);    // [1, 2, 3]

Exemples

Array.of(1);         // [1]
Array.of(1, 2, 3);   // [1, 2, 3]
Array.of(undefined); // [undefined]

Prothèse d'émulation (polyfill)

Exécuter ce code avant tout autre code permettra de créer la méthode Array.of() si elle n'est pas prise en charge nativement.

if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
  };
}

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Array.of' dans cette spécification.
Standard Définition initiale.
ECMAScript Latest Draft (ECMA-262)
La définition de 'Array.of' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Support simpleChrome Support complet 45Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet OuiSafari Support complet 9WebView Android Support complet OuiChrome Android Support complet 39Edge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet 4.0nodejs Support complet 4.0.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, xXDarioXx, teoli, quentin.lamamy
Dernière mise à jour par : SphinxKnight,