--- title: Float32Array slug: Web/JavaScript/Reference/Objets_globaux/Float32Array tags: - Constructor - JavaScript - Reference - TypedArray - TypedArrays translation_of: Web/JavaScript/Reference/Global_Objects/Float32Array --- <div>{{JSRef}}</div> <p>Le tableau typé <strong><code>Float32Array</code></strong> représente un tableau de nombres flottants représentés sur 32 bits (ce qui correspond au type C <code>float</code>), l'ordre des octets utilisés étant celui de la plate-forme. Si on souhaite maîtriser le boutisme (<em>endianness</em>) utilisé, on pourra utiliser une {{jsxref("DataView")}}. Les éléments du tableau sont initialisés à <code>0</code>. Une fois que le tableau est établi, on peut référencer des éléments dans le tableau en utilisant les méthodes de l'objet ou la syntaxe usuelle des crochets.</p> <h2 id="Syntaxe">Syntaxe</h2> <pre class="syntaxbox">new Float32Array(); // Apparu avec ES2017 new Float32Array(longueur); new Float32Array(tableauTypé); new Float32Array(objet); new Float32Array(buffer [, décalageOctets [, longueur]]);</pre> <p>Pour plus d'informations sur la syntaxe de ce constructeur et les paramètres utilisés, voir la page {{jsxref("Objets_globaux/TypedArray","TypedArray","#Syntaxe")}}.</p> <h2 id="Propriétés">Propriétés</h2> <dl> <dt>{{jsxref("TypedArray.BYTES_PER_ELEMENT", "Float32Array.BYTES_PER_ELEMENT")}}</dt> <dd>Renvoie le nombre d'octets par élément. <code>4</code> dans le cas de <code>Float32Array</code>.</dd> <dt>Float32Array.length</dt> <dd>Une propriété de longueur statique qui vaut 3. Pour connaître le nombre d'élément, voir {{jsxref("TypedArray.prototype.length", "Float32Array.prototype.length")}}.</dd> <dt>{{jsxref("TypedArray.name", "Float32Array.name")}}</dt> <dd>Renvoie la chaîne de caractères correspondant au nom du constructeur, dans le cas de <code>Float32Array</code>, ce sera : "Float32Array".</dd> <dt>{{jsxref("TypedArray.prototype", "Float32Array.prototype")}}</dt> <dd>Le prototype des objets <em>TypedArray</em>.</dd> </dl> <h2 id="Méthodes">Méthodes</h2> <dl> <dt>{{jsxref("TypedArray.from", "Float32Array.from()")}}</dt> <dd>Crée un nouvel objet <code>Float32Array</code> à partir d'un objet semblable à un tableau ou d'un objet itérable. Voir également la page {{jsxref("Array.from()")}}.</dd> <dt>{{jsxref("TypedArray.of", "Float32Array.of()")}}</dt> <dd>Crée un nouvel objet <code>Float32Array</code> à partir d'un nombre variable d'arguments. Voir également la page {{jsxref("Array.of()")}}.</dd> </dl> <h2 id="Prototype_Float32Array">Prototype <code>Float32Array</code></h2> <p>Chacun des objets <code>Float32Array</code> hérite de {{jsxref("TypedArray.prototype", "%TypedArray%.prototype")}}.</p> <h3 id="Propriétés_2">Propriétés</h3> <dl> <dt><code>Float32Array.prototype.constructor</code></dt> <dd>Renvoie la fonction qui a crée le prototype de l'instance. Par défaut, ce sera le constructeur <code>Float32Array</code>.</dd> <dt>{{jsxref("TypedArray.prototype.buffer", "Float32Array.prototype.buffer")}} {{readonlyInline}}</dt> <dd>Renvoie l'objet {{jsxref("ArrayBuffer")}} référencé par l'objet <code>Float32Array</code>. Cette propriété est fixée lors de la construction et n'est donc disponible qu'en <strong>lecture seule</strong>.</dd> <dt>{{jsxref("TypedArray.prototype.byteLength", "Float32Array.prototype.byteLength")}} {{readonlyInline}}</dt> <dd>Renvoie la longueur, exprimée en octets, de l'objet <code>Float32Array</code> à partir du début de l'{{jsxref("ArrayBuffer")}} correspondant. Cette propriété est fixée lors de la construction et n'est donc disponible qu'en <strong>lecture seule</strong>.</dd> <dt>{{jsxref("TypedArray.prototype.byteOffset", "Float32Array.prototype.byteOffset")}} {{readonlyInline}}</dt> <dd>Renvoie le décalage, exprimé en octets, de l'objet <code>Float32Array</code> par rapport au début de l'{{jsxref("ArrayBuffer")}} correspondant. Cette propriété est fixée lors de la construction et n'est donc disponible qu'en <strong>lecture seule</strong>.</dd> <dt>{{jsxref("TypedArray.prototype.length", "Float32Array.prototype.length")}} {{readonlyInline}}</dt> <dd>Renvoie le nombre d'éléments contenus dans l'objet <code>Float32Array</code>. Cette propriété est fixée lors de la construction et n'est donc disponible qu'en <strong>lecture seule</strong>.</dd> </dl> <h3 id="Méthodes_2">Méthodes</h3> <dl> <dt>{{jsxref("TypedArray.copyWithin", "Float32Array.prototype.copyWithin()")}}</dt> <dd>Copie une suite d'éléments d'un tableau dans le tableau. Voir également {{jsxref("Array.prototype.copyWithin()")}}.</dd> <dt>{{jsxref("TypedArray.entries", "Float32Array.prototype.entries()")}}</dt> <dd>Renvoie un nouvel objet <code>Array Iterator</code> qui contient les paires clé/valeur pour chaque indice du tableau. Voir également {{jsxref("Array.prototype.entries()")}}.</dd> <dt>{{jsxref("TypedArray.every", "Float32Array.prototype.every()")}}</dt> <dd>Teste si l'ensemble des éléments du tableau remplissent une certaine condition donnée par une fonction de test. Voir également {{jsxref("Array.prototype.every()")}}.</dd> <dt>{{jsxref("TypedArray.fill", "Float32Array.prototype.fill()")}}</dt> <dd>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 {{jsxref("Array.prototype.fill()")}}.</dd> <dt>{{jsxref("TypedArray.filter", "Float32Array.prototype.filter()")}}</dt> <dd>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 {{jsxref("Array.prototype.filter()")}}.</dd> <dt>{{jsxref("TypedArray.find", "Float32Array.prototype.find()")}}</dt> <dd>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 <code>undefined</code> sera renvoyé. Voir également {{jsxref("Array.prototype.find()")}}.</dd> <dt>{{jsxref("TypedArray.findIndex", "Float32Array.prototype.findIndex()")}}</dt> <dd>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 {{jsxref("Array.prototype.findIndex()")}}.</dd> <dt>{{jsxref("TypedArray.forEach", "Float32Array.prototype.forEach()")}}</dt> <dd>Appelle une fonction pour chacun des élément du tableau. Voir également {{jsxref("Array.prototype.forEach()")}}.</dd> <dt>{{jsxref("TypedArray.includes", "Float32Array.prototype.includes()")}}</dt> <dd>Détermine si le tableau typé contient un élément donné. Cette méthode renvoie <code>true</code> ou <code>false</code> selon le cas de figure. Voir également {{jsxref("Array.prototype.includes()")}}.</dd> <dt>{{jsxref("TypedArray.indexOf", "Float32Array.prototype.indexOf()")}}</dt> <dd>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 {{jsxref("Array.prototype.indexOf()")}}.</dd> <dt>{{jsxref("TypedArray.join", "Float32Array.prototype.join()")}}</dt> <dd>Fusionne l'ensemble des éléments du tableau en une chaîne de caractères. Voir également {{jsxref("Array.prototype.join()")}}.</dd> <dt>{{jsxref("TypedArray.keys", "Float32Array.prototype.keys()")}}</dt> <dd>Renvoie un nouvel objet <code>Array Iterator</code> qui contient les clés de chaque indice du tableau. Voir également {{jsxref("Array.prototype.keys()")}}.</dd> <dt>{{jsxref("TypedArray.lastIndexOf", "Float32Array.prototype.lastIndexOf()")}}</dt> <dd>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 {{jsxref("Array.prototype.lastIndexOf()")}}.</dd> <dt>{{jsxref("TypedArray.map", "Float32Array.prototype.map()")}}</dt> <dd>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 {{jsxref("Array.prototype.map()")}}.</dd> <dt>{{jsxref("TypedArray.move", "Float32Array.prototype.move()")}} {{non-standard_inline}} {{unimplemented_inline}}</dt> <dd>Ancienne version, non-standard, de {{jsxref("TypedArray.copyWithin", "Float32Array.prototype.copyWithin()")}}.</dd> <dt>{{jsxref("TypedArray.reduce", "Float32Array.prototype.reduce()")}}</dt> <dd>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 {{jsxref("Array.prototype.reduce()")}}.</dd> <dt>{{jsxref("TypedArray.reduceRight", "Float32Array.prototype.reduceRight()")}}</dt> <dd>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 {{jsxref("Array.prototype.reduceRight()")}}.</dd> <dt>{{jsxref("TypedArray.reverse", "Float32Array.prototype.reverse()")}}</dt> <dd>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 {{jsxref("Array.prototype.reverse()")}}.</dd> <dt>{{jsxref("TypedArray.set", "Float32Array.prototype.set()")}}</dt> <dd>Enregistre plusieurs valeurs dans le tableau typé à partir de valeurs d'un autre tableau.</dd> <dt>{{jsxref("TypedArray.slice", "Float32Array.prototype.slice()")}}</dt> <dd>Extrait un fragment d'un tableau et renvoie ce fragment. Voir également {{jsxref("Array.prototype.slice()")}}.</dd> <dt>{{jsxref("TypedArray.some", "Float32Array.prototype.some()")}}</dt> <dd>Renvoie <code>true</code> si au moins un des éléments remplit une condition donnée par une fonction de test. Voir également {{jsxref("Array.prototype.some()")}}.</dd> <dt>{{jsxref("TypedArray.sort", "Float32Array.prototype.sort()")}}</dt> <dd>Trie les éléments du tableau et renvoie ce tableau. Voir également {{jsxref("Array.prototype.sort()")}}.</dd> <dt>{{jsxref("TypedArray.subarray", "Float32Array.prototype.subarray()")}}</dt> <dd>Renvoie un nouvel objet <code>Float32Array</code> qui est le fragment du tableau courant, entre les indices de début et de fin donnés.</dd> <dt>{{jsxref("TypedArray.values", "Float32Array.prototype.values()")}}</dt> <dd>Renvoie un nouvel objet <code>Array Iterator</code> qui contient les valeurs correspondantes à chaque indice du tableau. Voir également {{jsxref("Array.prototype.values()")}}.</dd> <dt>{{jsxref("TypedArray.toLocaleString", "Float32Array.prototype.toLocaleString()")}}</dt> <dd>Renvoie une chaîne de caractères localisée qui représente le tableau et ses éléments. Voir également {{jsxref("Array.prototype.toLocaleString()")}}.</dd> <dt>{{jsxref("TypedArray.toString", "Float32Array.prototype.toString()")}}</dt> <dd>Renvoie une chaîne de caractère qui représente le tableau et ses éléments. Voir également {{jsxref("Array.prototype.toString()")}}.</dd> <dt>{{jsxref("TypedArray.@@iterator", "Float32Array.prototype[@@iterator]()")}}</dt> <dd>Renvoie un nouvel objet <code>Array Iterator</code> qui contient les valeurs correspondantes à chaque indice du tableau.</dd> </dl> <h2 id="Exemples">Exemples</h2> <p>Différentes façons de créer un objet <code>Float32Array</code> :</p> <pre class="brush: js">// Construction à partir d'une longueur var float32 = new Float32Array(2); float32[0] = 42; console.log(float32[0]); // 42 console.log(float32.length); // 2 console.log(float32.BYTES_PER_ELEMENT); // 4 // Construction à partir d'un tableau var arr = new Float32Array([21,31]); console.log(arr[1]); // 31 // Construction à partir d'un tableau typé var x = new Float32Array([21, 31]); var y = new Float32Array(x); console.log(y[0]); // 21 // Construction à partir d'un ArrayBuffer var buffer = new ArrayBuffer(16); var z = new Float32Array(buffer, 0, 4); // Construction à partir d'un itérable var iterable = function*(){ yield* [1,2,3]; }(); var float32 = new Float32Array(iterable); // Float32Array[1, 2, 3] </pre> <h2 id="Spécifications">Spécifications</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Spécification</th> <th scope="col">État</th> <th scope="col">Commentaires</th> </tr> <tr> <td>{{SpecName('Typed Array')}}</td> <td>{Spec2('Typed Array')}}</td> <td>Remplacée par ECMAScript 2015.</td> </tr> <tr> <td>{{SpecName('ES6', '#table-49', 'TypedArray constructors')}}</td> <td>{{Spec2('ES6')}}</td> <td>Défintion initiale au sein d'un standard ECMA. <code>new</code> est obligatoire.</td> </tr> <tr> <td>{{SpecName('ESDraft', '#table-49', 'TypedArray constructors')}}</td> <td>{{Spec2('ESDraft')}}</td> <td>ECMAScript 2017 a modifié le constructeur afin que celui-ci utilise l'opération interne <code>ToIndex</code> et puisse être utilisé sans argument.</td> </tr> </tbody> </table> <h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> <div class="hidden">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 <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> <p>{{Compat("javascript.builtins.Float32Array")}}</p> <h2 id="Notes_de_compatibilité">Notes de compatibilité</h2> <p>À partir d'ECMAScript 2015 (ES6), <code>Float32Array</code> doit être utilisée avec {{jsxref("Opérateurs/L_opérateur_new", "new")}}. Appeler un constructeur <code>Float32Array</code> comme une fonction, sans <code>new</code>, provoquera une exception {{jsxref("TypeError")}}.</p> <pre class="brush: js example-bad">var dv = Float32Array([1, 2, 3]); // TypeError: calling a builtin Float32Array constructor // without new is forbidden</pre> <pre class="brush: js example-good">var dv = new Float32Array([1, 2, 3]);</pre> <h2 id="Voir_aussi">Voir aussi</h2> <ul> <li><a href="/fr/docs/Web/JavaScript/Tableaux_typés">Les tableaux typés en JavaScript</a></li> <li>{{jsxref("ArrayBuffer")}}</li> <li>{{jsxref("DataView")}}</li> </ul>