JavaScript ã®ä¾å¤ "Invalid array length" ã¯ãé
åã®é·ããè² ã®æ°ãããã©ãããã©ã¼ã ã§å¯¾å¿ãã¦ããæå¤§å¤ãè¶
ããå¤ã«è¨å®ãããã¨ããã¨ã (ããªãã¡ã Array
ã¾ã㯠ArrayBuffer
ãçæãããã¨ããã¨ããã¾ã㯠Array.length
ãè¨å®ãããã¨ããã¨ã) ã«çºçãã¾ãã
é
åã®é·ãã«è¨±ããã¦ããæå¤§å¤ã¯ããã©ãããã©ã¼ã ã¨ãã©ã¦ã¶ã¼ã¨ãã®ãã¼ã¸ã§ã³ã«ä¾åãã¾ãã Array
ã«ã¤ãã¦ã¯ãæå¤§é·ã¯ 2GB-1 (2^32-1) ã§ãã ArrayBuffer
ã«ã¤ãã¦ã¯ãæå¤§å¤ã¯ 32 ãããã·ã¹ãã ã§ 2GB-1 (2^32-1) ã§ãã Firefox ãã¼ã¸ã§ã³ 89 ããã ArrayBuffer
ã®æå¤§å¤ã¯ 64 ãããã·ã¹ãã ã§ã¯ 8GB (2^33) ã§ãã
ã¡ã¢: Array
㨠ArrayBuffer
ã¯å¥åã®ãã¼ã¿æ§é ã§ã (䏿¹ã®å®è£
ããã䏿¹ã«ã¯å½±é¿ãã¾ãã)ã
RangeError: invalid array length (Firefox)
RangeError: Invalid array length (Chromium-based)
RangeError: Array buffer allocation failed (Chromium-based)
ã¨ã©ã¼ã®ç¨®é¡ ã¨ã©ã¼ã®åå
é åã®é·ãã䏿£ã«ãªãã®ã¯ã以ä¸ã®ãããªå ´åã§ãã
Array
ã ArrayBuffer
ããè² ã®æ°ã®é·ãã§çæãããã¨ãããã Array.length
ããããã£ã«è² ã®æ°ãè¨å®ãããã¨ãããArray
ãçæãããã¨ãããã Array.length
ããããã£ã«è¨å®ãããã¨ãããArrayBuffer
ãçæãããã¨ãããArrayBuffer
ãçæãããã¨ãããã³ã³ã¹ãã©ã¯ã¿ã¼ã使ç¨ã㦠Array
ãçæããã¨ãæåã®å¼æ°ã Array
ã®é·ãã¨ãã¦è§£éãããã®ã§ã代ããã«ãªãã©ã«è¡¨è¨ã使ã£ãæ¹ãè¯ãããããã¾ããã
ããã§ãªãå ´åã¯ã length ããããã£ãè¨å®ããåãã¾ãã¯ã³ã³ã¹ãã©ã¯ã¿ã¼ã®å¼æ°ã¨ãã¦ä½¿ç¨ããåã«ãé·ããå¶éãã¦ããã¨ããã§ãããã
ä¾ ä¸æ£ãªã±ã¼ã¹new Array(Math.pow(2, 40));
new Array(-1);
new ArrayBuffer(Math.pow(2, 32)); //32 ãããã·ã¹ãã
new ArrayBuffer(-1);
let a = [];
a.length = a.length - 1; // length ããããã£ã« -1 ãè¨å®
let b = new Array(Math.pow(2, 32) - 1);
b.length = b.length + 1; // length ããããã£ã« 2^32 ãè¨å®
æå¹ãªå ´å
[Math.pow(2, 40)]; // [ 1099511627776 ]
[-1]; // [ -1 ]
new ArrayBuffer(Math.pow(2, 32) - 1);
new ArrayBuffer(Math.pow(2, 33)); // 64 ãããã·ã¹ãã ã Firefox 89 以é
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 㯠2^32 - 1 ã® 16 é²è¡¨è¨ã§ãã
// (-1 >>> 0) ã¨æ¸ããã¨ãã§ãã¾ãã
é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4