首页 > 解决方案 > 字符串替换不适用于 for ... of 迭代

问题描述

我正在尝试使用以下代码替换字符串中的所有元音,但它只能使用正则表达式。我如何使用 for of 迭代?

 // THIS DOES NOT WORK
    newStr = '';
    for (const c of "aeiou") {
      console.log(c);
      newStr = 'Hello World'.replace(c, '*');
    }
    console.log(newStr); // Prints Hello World to the console
    
    // ONLY THIS WORKS
    newStr = 'Hello World'.replace(/[aeiou]/g, '*');
    console.log(newStr);

标签: javascript

解决方案


如果您不想使用正则表达式,请使用split,作为一种方式join

newStr = 'Hello World';
    for (const c of "aeiou") {
      console.log(c);
      //newStr = 'Hello World'.replace(c, '*');
      newStr = newStr.split(c).join('*');
    }
    console.log(newStr); // Prints Hello World to the console
    
    // ONLY THIS WORKS
    newStr = 'Hello World'.replace(/[aeiou]/g, '*');
    console.log(newStr);


推荐阅读