javascript - 字符串替换不适用于迭代的 for ...

标签 javascript

我正在尝试使用以下代码来替换字符串中的所有元音,但它只能使用正则表达式。如何使用 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);

最佳答案

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

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

关于javascript - 字符串替换不适用于迭代的 for ...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62338756/

相关文章:

javascript - 可点击的道场标签

javascript - angular 2+垂直调整div

javascript - 如果复选框处于打开状态,则不会启用按钮

javascript - "click html/deep/#id"在 MeteorJS 模板事件处理程序中不工作

javascript - 使用 jQuery 检索 Flickr 照片标题和描述

javascript - 使用 RequireJS 的 URL 缓存清除参数?

javascript - 将 slider 线性值转换为指数

javascript - AngularJS 警报服务 : fading out ng-repeat item

javascript - RxJS 中的同步与异步序列

javascript - 如何从描述地址的字符串访问对象子对象