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

js
typedarray.subarray([début[,fin]])

Paramètres

débutFacultatif

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.

finFacultatif

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

js
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

Voir aussi