[英]Items not being pushed into the array in a for loop
我有樹文件en.txt,es.txt和html.txt。 我想將第一個文件中的行用作模式,將第二個文件中的行用作替換。 必須替換的文本在第三個文件(en.text的HTML版本)中。
en.txt和es.txt中的行如下所示:
Line 1
Line 2
Line 3
esStrings
和esStrings
是en.text
和es.txt
拆分為數組(在新行上拆分)。
(html.txt相同,但文本周圍帶有p標簽)
這是代碼:
fs.readFile('html.txt', 'utf8', function (err, data) {
var result = []
if (err) {
return console.log(err)
}
for (i = 0; i < enStrings.length; i++) {
console.log(enStrings[i])
var re = new RegExp(enStrings[i], "g")
for (i = 0; i < esStrings.length; i++) {
result = result.push(data.replace(re, esStrings[i]))
}
}
console.log(result)
})
如果我執行console.log(enStrings[i])
我的終端將無限期地返回第2行。 如果我執行console.log(result),腳本將永遠運行。 我究竟做錯了什么?
只是在將數據推入數組時不分配任何值導致for循環,將以下for循環代碼替換為您的代碼,然后重試:-
for (i = 0; i < esStrings.length; i++) {
result.push(data.replace(re, esStrings[i]));
}
它可能會幫助您。
使用相同的迭代器變量i
在嵌套的for
循環中存在一個錯誤。
另外,不要分配result = result.push(...
只需執行result.push(
。它已經添加到數組中了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.