先日、とある案件で他のベンダさんが書いたプログラムを検証する機会がありました。 そのお客さんによると、最初は動いていたが、ある日突然動かなくなったとのこと。 調べてみると、Chromeでどうも以下のようなエラーが出ています。 なんだ?と思って当該行を見てみると以下のようになっていました(ちなみに今回はjavascriptです)。 var data = new Array( '100', '200', ・・・ // 以降何万行と続く ); for(var i = 0; i < data.length; i++){ // ←data.lengthを参照すると怒られる // 処理 } へーと思って、とりあえず配列の要素数を減らしていくと、ちょうど41,912個のところでエラーが発生することがわかりました(chromeの場合)。 なので、chromeの場合、new Array()で配列を初期化する
![【Javascript】new Array()で配列を定義する時は最大数に注意](https://cdn-ak-scissors.b.st-hatena.com/image/square/72395b95eac995ea14078aa94ae545b3cd1c545f/height=288;version=1;width=512/https%3A%2F%2Fmirror-ball.net%2Fwp-content%2Fuploads%2F2020%2F07%2Fjavascript-new-array.jpg)