首页 > 解决方案 > 用字符串中的新数组替换旧数组

问题描述

我有一个 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."

标签: javascriptarraysreplace

解决方案


从循环之前开始,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);


推荐阅读