如何在javascript中将while循环转换为for循环?

如何在javascript中将while循环转换为for循环?,javascript,for-loop,while-loop,Javascript,For Loop,While Loop,我在将while循环转换为for循环时遇到问题。这在for循环格式中会是什么样子,任何帮助都将不胜感激。实际文件存储在github> 回想一下while循环的标准形式: while (test) { body; } for (initialization; test; update) { body; } 以及for循环的标准形式: while (test) { body; } for (initialization; test; update) { body

我在将while循环转换为for循环时遇到问题。这在for循环格式中会是什么样子,任何帮助都将不胜感激。实际文件存储在github>


回想一下
while
循环的标准形式:

while (test) {
    body;
}
for (initialization; test; update) {
    body;
}
以及
for
循环的标准形式:

while (test) {
    body;
}
for (initialization; test; update) {
    body;
}
您可以将
while
更改为
for
,但这样做没有多大意义:

for (m = regex.exec(str); m !== null ; m = regex.exec(str)) {
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    m.forEach((match, groupIndex) => {
        output = output + `{\n"Language": "${match}"\n`;
    });
}
注意,初始化和更新是相同的;重复的代码

或者:

for ( ; (m = regex.exec(str)) !== null ; ) {
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    m.forEach((match, groupIndex) => {
        output = output + `{\n"Language": "${match}"\n`;
    });
}

请注意,初始化和更新都为空。

该代码与
for
语句不匹配。为什么要更改它?for循环中的中间语句与while循环相同<当你知道循环的次数或者你有两个极性时,
for(;(m=regex.exec(str))!==null;{…}
for循环
是很好的选择。在这里,您无法知道您的
while
中的测试何时良好,因此无法更改
循环。问题是我的代码中有许多while循环,我想将所有while循环转换为1 for循环。因此,它背后的故事是:我将日志文件放到第一个字段,slick start,它贯穿所有行,并创建格式化的JSON输出。目前,它创建了一个运行每个正则表达式的输出,但格式不正确。我需要它在每一行上运行所有的正则表达式规则,然后转到“日志文件”的下一行。这就是为什么我认为我需要有一个for循环。@tonym你需要修改你的问题来展示你真正想要完成的事情。显示一些
while
循环,并解释所有循环的结果。