Javascript中的最大数组大小

时间:2013-06-20 05:47:01

标签: javascript arrays

我在带有80000个元素的javascript中创建Array() 喜欢

var arrRecWorkOrderNo = Array(1,2,3,,,,,,,,,,,,80000);

但遗憾的是我得到了一个错误: 未捕获的SyntaxError:函数调用中的参数太多(仅允许32766)

我该如何解决?

2 个答案:

答案 0 :(得分:7)

请勿使用Array,只需将其定义为:

var arrRecWorkOrderNo = [1,2,3,,,,,,,,,,,,80000];

当你将它作为参数添加到构造函数时,Javascript的限制为32766(签名为简短)。

答案 1 :(得分:0)

不要使用Array构造函数,请参阅Ken的答案以了解正确的用法。使用参数调用时,数组构造函数具有奇怪的行为。

但是,如果你需要在一个函数中有超过 32766 个参数(实际上没有任何借口),你可以这样做:

var a = Array.apply(null, [1,,,,,,,,,,,,,,80000];

apply函数将第一个参数设置为this个对象,将第二个参数设置为arguments

注意:这只是一个概念证明,没有人应该拥有那么多参数,只需接受一个数组。