Le tableau typé Uint8Array
représente un tableau d'entiers non signés, représentés sur 8 bits. Les éléments du tableau sont initialisés à 0
. Une fois que le tableau est construit, on peut manipuler ses différents éléments grâce aux méthodes de l'objet ou grâce à la notation usuelle (avec les crochets).
Syntaxe
new Uint8Array(); // apparu avec ES2017 new Uint8Array(longueur); new Uint8Array(tableauTypé); new Uint8Array(objet); new Uint8Array(tampon [, décalage [, longueur]]);
Pour plus d'informations sur la syntaxe du constructeur et le rôle des différents paramètres, voir la page TypedArray.
Propriétés
Uint8Array.BYTES_PER_ELEMENT
- Cette propriété renvoie la taille d'un élément du tableau, en octets. En l'occurence, pour
Uint8Array
ce sera1
. - Uint8Array.length
- La propriété de longueur statique qui vaut 3. Pour connaître le nombre d'élément, voir
Uint8Array.prototype.length
. Uint8Array.name
- Cette propriété renvoie la chaîne de caractères correspondant au nom du constructeur. Pour
Uint8Array
ce sera : "Uint8Array". Uint8Array.prototype
- Le prototype des objets TypedArray.
Méthodes
Uint8Array.from()
- Cette méthode permet de créer un nouvel objet
Uint8Array
à partir d'un itérable ou d'un objet semblable à un tableau. Voir aussiArray.from()
. Uint8Array.of()
- Cette méthode permet de créer un nouvel objet
Uint8Array
à partir d'un nombre variables d'arguments. Voir aussiArray.of()
.
Prototype Uint8Array
Tous les objets Uint8Array
héritent de %TypedArray%.prototype
.
Propriétés
Uint8Array.prototype.constructor
- Cette propriété renvoie la fonction qui a créé l'instance du prototype. Par défaut, ce sera le constructeur
Uint8Array
. Uint8Array.prototype.buffer
Lecture seule- Cette propriété renvoie l'objet
ArrayBuffer
référencé par l'objetUint8Array
Elle est déterminée lors de la construction et est accessible uniquement en lecture seule. Uint8Array.prototype.byteLength
Lecture seule- Cette propriété renvoie la longueur, exprimée en octets, de l'objet
Uint8Array
à partir du début de l'objetArrayBuffer
correspondant. Elle est déterminée lors de la construction et est accessible uniquement en lecture seule. Uint8Array.prototype.byteOffset
Lecture seule- Cette propriété renvoie le décalage, en nombre d'octets, entre le début du tableau typé courant et du début du
ArrayBuffer
correspondant. Elle est déterminée lors de la construction et est accessible uniquement en lecture seule. Uint8Array.prototype.length
Lecture seule- Cette propriété renvoie le nombre d'éléments contenus dans le tableau
Uint8Array
. Elle est déterminée lors de la construction et est accessible uniquement en lecture seule.
Méthodes
Uint8Array.prototype.copyWithin()
- Copie une suite d'éléments d'un tableau dans le tableau. Voir également
Array.prototype.copyWithin()
. Uint8Array.prototype.entries()
- Renvoie un nouvel objet
Array Iterator
qui contient les paires clé/valeur pour chaque indice du tableau. Voir égalementArray.prototype.entries()
. Uint8Array.prototype.every()
- Teste si l'ensemble des éléments du tableau remplissent une certaine condition donnée par une fonction de test. Voir également
Array.prototype.every()
. Uint8Array.prototype.fill()
- Remplit les éléments d'un tableau avec une certaine valeur pour les éléments compris entre un indice de début et un indice de fin. Voir également
Array.prototype.fill()
. Uint8Array.prototype.filter()
- Crée un nouveau tableau dont tous les éléments proviennent de ce tableau et respectent une condition fournie par une fonction de test. Voir également
Array.prototype.filter()
. Uint8Array.prototype.find()
- Renvoie une valeur trouvée dans le tableau s'il existe un élément du tableau qui satisfait une condition fournie par une fonction de test, s'il n'y a pas de tel élément
undefined
sera renvoyé. Voir égalementArray.prototype.find()
. Uint8Array.prototype.findIndex()
- Renvoie l'indice d'un élément qui satisfait une condition fournie par une fonction de test, si aucun élément ne remplit la condition -1 sera renvoyé. Voir également
Array.prototype.findIndex()
. Uint8Array.prototype.forEach()
- Appelle une fonction pour chacun des élément du tableau. Voir également
Array.prototype.forEach()
. Uint8Array.prototype.includes()
- Détermine si le tableau typé contient un élément donné. Cette méthode renvoie
true
oufalse
selon le cas de figure. Voir égalementArray.prototype.includes()
. Uint8Array.prototype.indexOf()
- Renvoie le premier indice (le plus petit) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur -1 sera renvoyée. Voir également
Array.prototype.indexOf()
. Uint8Array.prototype.join()
- Fusionne l'ensemble des éléments du tableau en une chaîne de caractères. Voir également
Array.prototype.join()
. Uint8Array.prototype.keys()
- Renvoie un nouvel objet
Array Iterator
qui contient les clés de chaque indice du tableau. Voir égalementArray.prototype.keys()
. Uint8Array.prototype.lastIndexOf()
- Renvoie le dernier indice (le plus élevé) d'un élément du tableau qui est égal à la valeur fournie. Si aucun élément ne correspond, la valeur -1 sera renvoyée. Voir également
Array.prototype.lastIndexOf()
. Uint8Array.prototype.map()
- Crée un nouveau tableau dont les éléments sont les images des éléments du tableau courant par une fonction donnée. Voir également
Array.prototype.map()
. Uint8Array.prototype.move()
Non implémenté- Ancienne version, non-standard, de
Uint8Array.prototype.copyWithin()
. Uint8Array.prototype.reduce()
- Applique une fonction sur un accumulateur et chaque élément du tableau (de gauche à droite) afin de réduire le tableau en une seule valeur. Voir également
Array.prototype.reduce()
. Uint8Array.prototype.reduceRight()
- Applique une fonction sur un accumulateur et chaque élément du tableau (de droite à gauche) afin de réduire le tableau en une seule valeur. Voir également
Array.prototype.reduceRight()
. Uint8Array.prototype.reverse()
- Inverse l'ordre des éléments d'un tableau. Le premier élément du tableau devient le dernier et le dernier devient le premier (et ainsi de suite). Voir également
Array.prototype.reverse()
. Uint8Array.prototype.set()
- Enregistre plusieurs valeurs dans le tableau typé à partir de valeurs d'un autre tableau.
Uint8Array.prototype.slice()
- Extrait un fragment d'un tableau et renvoie ce fragment. Voir également
Array.prototype.slice()
. Uint8Array.prototype.some()
- Renvoie
true
si au moins un des éléments remplit une condition donnée par une fonction de test. Voir égalementArray.prototype.some()
. Uint8Array.prototype.sort()
- Trie les éléments du tableau et renvoie ce tableau. Voir également
Array.prototype.sort()
. Uint8Array.prototype.subarray()
- Renvoie un nouvel objet
Uint8Array
qui est le fragment du tableau courant, entre les indices de début et de fin donnés. Uint8Array.prototype.values()
- Renvoie un nouvel objet
Array Iterator
qui contient les valeurs correspondantes à chaque indice du tableau. Voir égalementArray.prototype.values()
. Uint8Array.prototype.toLocaleString()
- Renvoie une chaîne de caractères localisée qui représente le tableau et ses éléments. Voir également
Array.prototype.toLocaleString()
. Uint8Array.prototype.toString()
- Renvoie une chaîne de caractère qui représente le tableau et ses éléments. Voir également
Array.prototype.toString()
. Uint8Array.prototype[@@iterator]()
- Renvoie un nouvel objet
Array Iterator
qui contient les valeurs correspondantes à chaque indice du tableau.
Exemples
Différentes façons de construire un objet Uint8Array
:
// Construction à partir d'une longueur var uint8 = new Uint8Array(2); uint8[0] = 42; console.log(uint8[0]); // 42 console.log(uint8.length); // 2 console.log(uint8.BYTES_PER_ELEMENT); // 1 // Construction à partir d'un tableau var arr = new Uint8Array([21,31]); console.log(arr[1]); // 31 // Construction à partir d'un tableau typé var x = new Uint8Array([21, 31]); var y = new Uint8Array(x); console.log(y[0]); // 21 // Construction à partir d'un ArrayBuffer var buffer = new ArrayBuffer(8); var z = new Uint8Array(buffer, 1, 4); // Construction à partir d'un itérable var iterable = function*(){ yield* [1,2,3]; }(); var uint8 = new Uint8Array(iterable); // Uint8Array[1, 2, 3]
Spécifications
Spécification | État | Commentaires |
---|---|---|
Typed Array Specification | Obsolete | Englobée par ECMAScript 2015. |
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'TypedArray constructors' dans cette spécification. |
Standard | Définition initiale au sein d'un standard ECMA. new est obligatoire. |
ECMAScript Latest Draft (ECMA-262) La définition de 'TypedArray constructors' dans cette spécification. |
Projet | ECMAScript 2017 a modifié le constructeur Uint8Array afin qu'il utilise l'opération ToIndex et qu'il puisse être utilisé sans argument. |
Compatibilité des navigateurs
Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une pull request sur https://github.com/mdn/browser-compat-data.
Update compatibility data on GitHub
Ordinateur | Mobile | Serveur | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Uint8Array | Chrome Support complet 7 | Edge Support complet 12 | Firefox Support complet 4 | IE Support complet 10 | Opera Support complet 11.6 | Safari Support complet 5.1 | WebView Android Support complet 4 | Chrome Android Support complet 18 | Firefox Android Support complet 4 | Opera Android Support complet 12 | Safari iOS Support complet 4.2 | Samsung Internet Android Support complet Oui | nodejs Support complet 0.10 |
Constructor without arguments | Chrome Support complet 7 | Edge Support complet 12 | Firefox Support complet 55 | IE Support complet 10 | Opera Support complet Oui | Safari Support complet 5.1 | WebView Android Support complet ≤37 | Chrome Android Support complet 18 | Firefox Android Support complet 55 | Opera Android Support complet Oui | Safari iOS Support complet 5 | Samsung Internet Android Support complet 1.0 | nodejs ? |
Iterable in constructor | Chrome Support complet 39 | Edge Support complet 14 | Firefox Support complet 52 | IE Aucun support Non | Opera Support complet 26 | Safari ? | WebView Android Support complet 39 | Chrome Android Support complet 39 | Firefox Android Support complet 52 | Opera Android Support complet 26 | Safari iOS ? | Samsung Internet Android Support complet 4.0 | nodejs Support complet 4.0.0 |
Uint8Array() without new throws | Chrome Support complet 7 | Edge Support complet 14 | Firefox Support complet 44 | IE Aucun support Non | Opera Support complet Oui | Safari Support complet 5.1 | WebView Android Support complet ≤37 | Chrome Android Support complet 18 | Firefox Android Support complet 44 | Opera Android Support complet Oui | Safari iOS Support complet 5 | Samsung Internet Android Support complet 1.0 | nodejs Support complet 0.12 |
Légende
- Support complet
- Support complet
- Aucun support
- Aucun support
- Compatibilité inconnue
- Compatibilité inconnue
Notes de compatibilité
À partir d'ECMAScript 2015 (ES6), Uint8Array
doit être utilisé avec new
. Appeler un constructeur Uint8Array
comme une fonction, sans new
, provoquera une exception TypeError
.
var dv = Uint8Array([1, 2, 3]); // TypeError: calling a builtin Uint8Array constructor // without new is forbidden
var dv = new Uint8Array([1, 2, 3]);