| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Errors/Invalid_array_length | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
RangeError: Array length must be a finite positive integer (Edge) RangeError: invalid array length (Firefox) RangeError: Invalid array length (Chrome) RangeError: Invalid array buffer length (Chrome)
RangeError
Deux cas de figures peuvent causer cette erreur :
Array ou ArrayBuffer dont la longueur est ngative ou suprieure ou gale 2^32Array.length pour que celle-ci ait une valeur ngative ou suprieure ou gale 2^32.Les tailles des objets Array et ArrayBuffer sont limites car leurs longueurs (length) sont reprsentes par des entiers non-signs sur 32 bits. Ces valeurs sont donc ncessairement comprises dans l'intervalle allant de 0 2^32-1.
Si vous utilisez le constructeur pour Array, il est probable que vous souhaitiez utiliser la notation littrale plutt que le constructeur. En effet, le premier argument de ce constructeur correspond la longueur du tableau.
Sinon, vous pouvez rduire la longueur utilise afin que celle-ci soit dans l'intervalle valide avant de l'utiliser pour une telle cration ou modification.
new Array(Math.pow(2, 40));
new Array(-1);
new ArrayBuffer(Math.pow(2, 32));
new ArrayBuffer(-1);
let a = [];
a.length = a.length - 1; // set -1 to the length property
let b = new Array(Math.pow(2, 32) - 1);
b.length = b.length + 1; // set 2^32 to the length property
[Math.pow(2, 40)][-1]; // [ 1099511627776 ] // [ -1 ]
new ArrayBuffer(Math.pow(2, 32) - 1);
new ArrayBuffer(0);
let a = [];
a.length = Math.max(0, a.length - 1);
let b = new Array(Math.pow(2, 32) - 1);
b.length = Math.min(0xffffffff, b.length + 1);
// 0xffffffff est la notation hexadcimale
// pour 2^32 - 1
// ce qu'on peut galement crire (-1 >>> 0)
Cette page a t modifie le 3 aot 2023 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |