[解決済み] Uncaught RangeError: JavaScript で文字列に追加する際の無効な文字列長
2022-02-04 05:17:06
質問
基本的に、私はJavascriptで小さな個人的なプロジェクトに取り組んでいるのですが、ある問題にぶち当たりました。私はJavascriptを使って2D配列からHTMLにリストを生成しようとしています。以下は私のコードです。
function generatePageFromArray(page, array){
var entry, i, j;
for (i = 0; i < array.length; ++i) {
entry = array[i];
for (j = 0; j < entry.length; j = j + 2) {
page = page + '<tr>'+
'<td class="favoritesContainer"><input type="checkbox" class="favorites"></input></td>';
page = page + '<td class="english">' + entry[j,0] + '</td>';
page = page + '<td class="spanish">';
if (entry[j,1].indexOf("|") > 0){
var spanishTerms = entry[j,1].split("|");
var strLength = spanishTerms.size;
for (i = 0; i < strLength; i++){
page = page.concat(spanishTerms[i] + '<br>');
}
}
else{
page = page + entry[j,1];
}
page = page + '</td>'
page = page + '</tr>';
}
}
return page;}
Uncaught RangeErrorを投げ続けています。この行の文字列の長さが無効です。
page = page + '<tr>'+
'<td class="favoritesContainer"><input type="checkbox" class="favorites"></input></td>';
理由は全くわかりません。.concat()を使って追記することも試しましたが、何も起こりません。
どうすればいいですか?
2次元配列へのアクセスは正しくありませんが、主な問題は、変数を再利用していることです。
i
を内部ループで使用しています。
for (i = 0; i < strLength; i++){
page = page.concat(spanishTerms[i] + '<br>');
}
その
i
は同じになる
i
を外側のループで使用します。このように、表示されるエラーは、ランタイムシステムの容量を超える巨大な文字列を構築していることを告げているのです。そのループのために新しい変数を宣言してください。
配列の配列から値にアクセスするには、2組の
[ ]
:
entry[j][0]
関連
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】JavaScriptで「無効な日付」のDateインスタンスを検出する
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] Javascriptで文字列の最後の文字を切り取るにはどうしたらいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】JavaScriptのオブジェクトの長さ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】未定義のプロパティ 'forEach' を読み取ることができない