2016-05-26 1 views
0

JavaScriptで配列の最大長さは私のコードです:私はjavascript.Hereを学んで問題に会った

var arr = []; 
for (let i = 0; i <4294967296; i=i+1){ 
    arr[i] = 1;} 

しかし、両方ChromeとFirefoxでは、それがあることを知っているwrong.I何かになってしまいました私が4294967295を4294967295、4294967294に変更したとき、またはそれより少し小さくなったとき、配列の最大長はjavascriptで4294967295(2^32-1)ですが、それでも動作しませんでした。また、Node.jsでテストしました実行中に、それだけで終わった:

FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory 

私はなぜか分からない?

+1

エラーのように、メモリが不足しています。 – rnevius

+0

お使いのPCに割り当て可能なメモリが不足しています。 –

+4

http://stackoverflow.com/questions/6154989/maximum-size-of-an-array-in-javascript – rnevius

答えて

0

1は整数で、メモリー内に4バイトまたは8バイトの長さ(OSによって異なる)があるため、この長さの4Mバイトをメモリ内に使用できません。

+0

あなたが本当に意味するのは4Gですか?それが理由だと思います。 – buggo

関連する問題