TypedArray.prototype.subarray()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
La méthode subarray()
permet de renvoyer un nouvel objet TypedArray basé sur le même ArrayBuffer
et dont les éléments sont du même type que l'objet TypedArray courant. Le paramètre début
est à considérer au sens large et le paramètre end
est à considérer au sens strict. TypedArray est l'un des types de tableaux typés.
Exemple interactif
Syntaxe
typedarray.subarray([début[,fin]])
Paramètres
début
Facultatif-
L'élément à partir duquel commencer le nouveau tableau typé. Cet élément initial sera inclus dans le nouveau tableau (sens large). Si la valeur n'est pas définie, tout le tableau sera inclus dans la nouvelle vue.
fin
Facultatif-
L'élément auquel finir le nouveau tableau typé. Cet élément ne fera pas partie du nouveau tableau (sens strict). Si ce paramètre n'est pas utilisé, tous les éléments contenus à partir de
début
jusqu'à la fin du tableau courant seront inclus dans la nouvelle vue.
Valeur de retour
Un nouvel objet TypedArray
.
Description
L'intervalle défini par début
et fin
est redimensionné si besoin pour être un intervalle valide en regard du tableau courant. Si la longueur du nouveau tableau est négative, elle est ramenée à zéro. Si début
ou fin
a une valeur négative, on prendra en compte la position à partir de la fin du tableau et non à partir du début de celui-ci.
On notera que cette méthode permet de créer un nouvelle vue sur le tampon (buffer) existant, tous les changements apportés via le nouvel objet impacteront le tableau typé initial et vice versa.
Exemples
var buffer = new ArrayBuffer(8);
var uint8 = new Uint8Array(buffer);
uint8.set([1, 2, 3]);
console.log(uint8); // Uint8Array [ 1, 2, 3, 0, 0, 0, 0, 0 ]
var sub = uint8.subarray(0, 4);
console.log(sub); // Uint8Array [ 1, 2, 3, 0 ]
Spécifications
Specification |
---|
ECMAScript Language Specification # sec-%typedarray%.prototype.subarray |
Compatibilité des navigateurs
BCD tables only load in the browser