[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Errors/Invalid_array_length [Back]  [Original]

RangeError: invalid array length - JavaScript | MDN

MDN Web Docs

View in English Always switch to English

RangeError: invalid array length

JavaScript Invalid array length Array ArrayBuffer length

Array 232-1 ArrayBuffer 32 231-12GiB-1 Firefox 89 64 ArrayBuffer 2338GiB

Array ArrayBuffer

In this article

RangeError: invalid array length (V8-based & Firefox)
RangeError: Array size is not a small enough positive integer. (Safari)

RangeError: Invalid array buffer length (V8-based)
RangeError: length too large (Safari)

RangeError

Array ArrayBuffer

Array Array length

js
new Array(2 ** 40);
new Array(-1);
new ArrayBuffer(2 ** 32); // 32 
new ArrayBuffer(-1);

const a = [];
a.length -= 1; //  length  -1

const b = new Array(2 ** 32 - 1);
b.length += 1; //  length  2^32
b.length = 2.5; //  length 

const c = new Array(2.5); // 

// 
const arr = [1, 2, 3];
for (const e of arr) {
  arr.push(e * 10);
}

js
[2 ** 40]; // [ 1099511627776 ]
[-1]; // [ -1 ]
new ArrayBuffer(2 ** 31 - 1);
new ArrayBuffer(2 ** 33); // Firefox 89  64 
new ArrayBuffer(0);

const a = [];
a.length = Math.max(0, a.length - 1);

const b = new Array(2 ** 32 - 1);
b.length = Math.min(0xffffffff, b.length + 1);
// 0xffffffff  2^32 - 1 
//  (-1 >>> 0)

b.length = 3;

const c = new Array(3);

// 
const arr = [1, 2, 3];
arr.forEach((e) => arr.push(e * 10));


Web Proxy Viewer  |  New URL  |  Original Page