Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
TypedArray.from()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2016.
La méthodeTypedArray.from() crée un nouvel objetTypedArray à partir d'un objet itérable ou d'un objet semblable à un tableau. Cette méthode est similaire àArray.from().
Dans cet article
Syntaxe
TypedArray.from(source[, mapFn[, thisArg]])où TypedArray est l'un de :
Paramètres
sourceUn objet semblable à un tableau ou un objet itérable, et à partir duquel on souhaite créer un tableau typé.
fonctionMapArgument optionnel, une fonction à appliquer à chacun des éléments du tableau.
thisArgArgument optionnel. La valeur à utiliser pour
thislors de l'exécution de la fonctionfonctionMap.
Valeur de retour
Une nouvelle instance deTypedArray.
Description
TypedArray.from() permet de créer des tableaux typés à partir :
- d'objets semblables à des tableaux (qui disposent d'une propriété
lengthet d'éléments indexés) ou - d'objets itérables (par exemple des objets
MapouSet).
Array.from possède un paramètre optionnelfonctionMap, qui permet d'exécuter une fonctionmap sur chacun des éléments du tableau typé (ou de l'instance de la classe fille) qui est créé. Autrement ditTypedArray.from(obj, fonctionMap, thisArg) correspond exactement àTypedArray.from(obj).map(fonctionMap, thisArg).
Il existe de légères différences entreArray.from() etTypedArray.from() :
- Si la valeur de
thispassée àTypedArray.fromn'est pas un constructeur,TypedArray.fromlèvera une exceptionTypeError, tandis queArray.fromcréera un nouvel objetArray. TypedArray.fromutilise[[Set]]tandis queArray.fromutilise[[DefineProperty]]. Ainsi par exemple lorsque des objetsProxysont manipulés la première méthode appellerahandler.setpour créer les nouveaux éléments et la seconde appellerahandler.defineProperty.- Lorsque
sourceest un itérable,TypedArray.fromva dans un premier temps récupérer toutes ses valeurs, puis initialiser une instance dethisà l'aide de leur nombre, et enfin ajouter ces valeurs à l'instance.Array.fromajoute les valeurs au nouvel objet lors du parcours de l'itérateur et ne définit la taille de l'objet qu'en dernière étape. - Si
Array.fromreçoit un objet semblable à un tableau qui n'est pas un itérable, les valeurs non définies sont conservées.TypedArray.fromconstruit un objet dense en éliminant ces valeurs.
Exemples
// Set (objet itérable)var s = new Set([1, 2, 3]);Uint8Array.from(s);// Uint8Array [ 1, 2, 3 ]// StringInt16Array.from("123");// Int16Array [ 1, 2, 3 ]// En utilisant un fonction fléchée en tant que// fonctionMap pour manipuler les élémentsFloat32Array.from([1, 2, 3], (x) => x + x);// Float32Array [ 2, 4, 6 ]// Pour construire une séquence de nombresUint8Array.from({ length: 5 }, (v, k) => k);// Uint8Array [ 0, 1, 2, 3, 4 ]Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-%typedarray%.from> |