【问题标题】:What is the size limit of an Array in JavaSCript? [duplicate]JavaSCript 中数组的大小限制是多少? [复制]
【发布时间】:2015-02-18 14:50:46
【问题描述】:

我正在尝试填充一个数组,但是当我填充它超过一定大小时它会停止工作。

JavaScript 中的数组有大小限制吗?是否在任何地方指定?

我对一般答案感兴趣,但我发现它在 Windows 上使用 chrome 时无法正常工作。

【问题讨论】:

  • 认为的限制是多少?你能在 jsfiddle 中重现这个问题吗?
  • 您正在使用的阵列到底有多庞大?或者问题可能出在其他代码中?
  • 由于 ToUint32 抽象操作,根据 ECMA-262 第 5 版规范,数组的最大长度受无符号 32 位整数约束,因此最长可能的数组可能有 232-1 = 4,294,967,295 = 42.9 亿个元素。你用的还不止这些吗?

标签: javascript arrays


【解决方案1】:

数组的最大长度为 4,294,967,295 - 即最大的无符号 32 位整数。

在浏览器控制台中进行测试会产生以下结果:

如果你要制作那么大的数组……你就有问题了。来自Computer Stupidities的这个人的问题

在我之前的工作中,我们使用 Microsoft VC++ 将 UNIX 系统移植到 Windows NT。我的一位同事正在移植他的部分代码,他来找我,看起来很沮丧。

  • 同事:“嘿!我讨厌这些微软家伙!多么烂的编译器!它在一个函数中只接受 16,384 个局部变量!

【讨论】:

  • 需要引用。另外-这是理论上的还是实际的限制? (如 - 你可以实际上创建一个这么大的数组吗?)
  • @BenjaminGruenbaum 在浏览器控制台中测试产生this result
  • 很好,您可能想编辑它。
  • @BenjaminGruenbaum 完成 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 2017-01-28
  • 2011-05-29
  • 2013-09-04
  • 2013-01-04
  • 2013-04-08
相关资源
最近更新 更多