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.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éthodesubarray() permet de renvoyer un nouvel objetTypedArray basé sur le mêmeArrayBuffer et dont les éléments sont du même type que l'objetTypedArray courant. Le paramètredébut est à considérer au sens large et le paramètreend est à considérer au sens strict.TypedArray est l'un des types detableaux typés.
Dans cet article
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ébutFacultatifL'é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.
finFacultatifL'é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 objetTypedArray.
Description
L'intervalle défini pardébut etfin 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. Sidébut oufin 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> |