Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2015.
La méthode statique Array.from() crée une nouvelle instance d'Array (copie superficielle) à partir d'un objet itérable ou d'un objet semblable à un tableau.
Un objet itérable ou un objet semblable à un tableau à convertir en un tableau.
mapFn FacultatifUne fonction appelée sur chaque élément du tableau. Si elle est fournie, chaque valeur à ajouter au tableau est d'abord transmise à cette fonction, et la valeur de retour de mapFn est ajoutée au tableau à la place. La fonction est appelée avec les arguments suivants :
elementL'élément en cours de traitement dans le tableau.
indexL'indice de l'élément en cours de traitement dans le tableau.
thisArg FacultatifLa valeur à utiliser comme this lors de l'exécution de la fonction mapFn.
Une nouvelle instance de Array.
Array.from() permet de créer des tableaux à partir :
Pour convertir un objet ordinaire qui n'est ni itérable ni semblable à un tableau en un tableau (en énumérant ses clés, valeurs ou les deux), utilisez Object.keys(), Object.values() ou Object.entries(). Pour convertir un objet itérable asynchrone en un tableau, utilisez Array.fromAsync().
Array.from() ne crée jamais de tableau creux. Si l'objet items n'a pas certaines propriétés d'index, elles deviennent undefined dans le nouveau tableau.
Array.from() possède un paramètre optionnel mapFn, qui permet d'exécuter une fonction sur chaque élément du tableau en cours de création, de façon similaire à map(). Plus précisément, Array.from(obj, mapFn, thisArg) a le même résultat que Array.from(obj).map(mapFn, thisArg), sauf qu'il ne crée pas de tableau intermédiaire, et mapFn ne reçoit que deux arguments (element, index) sans le tableau complet, car celui-ci est encore en construction.
Note : Ce comportement est particulièrement important pour les tableaux typés, car le tableau intermédiaire aurait nécessairement des valeurs tronquées pour correspondre au type approprié. Array.from() est implémenté pour avoir la même signature que TypedArray.from().
La méthode Array.from() est une méthode de fabrique générique. Par exemple, si une sous-classe d'Array hérite de la méthode from(), la méthode héritée retournera de nouvelles instances de la sous-classe au lieu d'instances d'Array. En fait, la valeur de this peut être n'importe quelle fonction constructeur qui accepte un seul argument représentant la longueur du nouveau tableau. Lorsqu'un objet itérable est passé comme items, le constructeur est appelé sans argument ; lorsqu'un objet semblable à un tableau est passé, le constructeur est appelé avec la longueur normalisée de l'objet. La longueur finale sera à nouveau définie à la fin de l'itération. Si la valeur de this n'est pas une fonction constructeur, le constructeur natif Array est utilisé à la place.
La méthode from() peut être appelée sur n'importe quelle fonction constructeur qui accepte un seul argument représentant la longueur du nouveau tableau.
Lorsque la valeur de this n'est pas un constructeur, un objet Array ordinaire est retourné.
| ECMAScript® 2027 Language Specification # sec-array.from |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 6 mai 2026 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.