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

时间:2016-11-14 15:58:46

标签: javascript for-loop while-loop

我遇到问题,将while循环转换为for循环。这将如何看待for循环格式,任何帮助将非常感激。实际文件存储在github上> github link

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

1 个答案:

答案 0 :(得分:3)

回想while循环的标准形式:

while (test) {
    body;
}

for循环的标准形式:

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`;
    });
}

请注意,初始化和更新都是空白的。