javascript - 用字符串中的新数组替换旧数组
问题描述
我有一个 var 包含字符串,我有一个数组,其中包含字符串中的单词 oldWords 和新数组,其中包含名为 newWords 的新单词只替换了最后一个单词。
代码:
let myStr = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sapien magna.",
old_Words = ["Lorem", "ipsum"],
new_Words = ["word1", "word2"];
for (let i = 0; i < old_Words.length; i++) {
var newStr = myStr.replace(old_Words[i], new_Words[i]);
}
console.log(newStr);
输出应该是:
"word1 word2 dolor sit amet, consectetur adipiscing elit. Fusce sapien magna."
解决方案
从循环之前开始,let newStr = myStr;
然后在循环newStr = newStr.replace(...)
内执行:
let myStr = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sapien magna.",
old_Words = ["Lorem","ipsum"],
new_Words = ["word1","word2"],
newStr = myStr;
for (let i = 0; i < old_Words.length; i++){
newStr = newStr.replace(old_Words[i], new_Words[i]);
}
console.log(newStr);
推荐阅读
- reactjs - Giphy API - 从 api 获取数据但我无法在图像 src 标签中呈现它们?
- facebook - API Facebook 营销错误:不支持的获取请求。ID 为 XXXXXX 的对象不存在,由于缺少权限而无法加载
- amazon-web-services - AWS 是否在没有警告的情况下弃用了 IAM 条件?
- actions-on-google - 使用不同名称的 Google Action 重复
- reactjs - 电子和反应。构建是空白的
- php - 正则表达式帮助...仅在某些组合中去除空白
- pptxgenjs - pptxgenjs 折线图和条形图中的自定义数据标签
- reactjs - 为什么 concat() 不能在 react/hook 中工作?
- java - 如何以更好的方式用可选方式重写空检查
- python - 如何在python中并行运行代码块