TypedArray.prototype.subarray()
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 juillet 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
const uint8 = new Uint8Array([10, 20, 30, 40, 50]);
console.log(uint8.subarray(1, 3));
// Expected output: Uint8Array [20, 30]
console.log(uint8.subarray(1));
// Expected output: Uint8Array [20, 30, 40, 50]
Syntaxe
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ébutjusqu'à 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® 2026 Language Specification> # sec-%typedarray%.prototype.subarray> |
Compatibilité des navigateurs
Chargement…