私は 80000 要素の JavaScript で Array() を作成しています
var arrRecWorkOrderNo = Array(1,2,3,,,,,,,,,,,,80000);
しかし、残念ながらエラーが発生しています: Uncaught SyntaxError: 関数呼び出しで引数が多すぎます (32766 のみ許可されています)
どうすれば解決できますか?
私は 80000 要素の JavaScript で Array() を作成しています
var arrRecWorkOrderNo = Array(1,2,3,,,,,,,,,,,,80000);
しかし、残念ながらエラーが発生しています: Uncaught SyntaxError: 関数呼び出しで引数が多すぎます (32766 のみ許可されています)
どうすれば解決できますか?
を使用しないでくださいArray
。次のように定義してください。
var arrRecWorkOrderNo = [1,2,3,,,,,,,,,,,,80000];
Javascript をコンストラクターの引数として指定する場合、Javascript には 32766 (signed short) の制限があります。
コンストラクターを使用しないArray
でください。適切な使用法については、ケンの回答を参照してください。配列コンストラクターは、引数を指定して呼び出すと奇妙な動作をします。
ただし、関数に32766 個を超える引数が必要な場合 (実際には言い訳の余地はありません)、次のようにします。
var a = Array.apply(null, [1,,,,,,,,,,,,,,80000];
apply
関数は、最初のパラメーターをthis
オブジェクトとして設定し、2 番目のパラメーターを として設定しますarguments
。
注: これは概念実証にすぎません。これほど多くのパラメーターを指定する必要はありません。配列を受け入れるだけです。