所以我想找到所有匹配字符串的项目并替换它们。出于某种原因,我无法让它迭代并全部替换。任何帮助,将不胜感激
const word = ['h', 'e', 'l', 'l', 'o'];
var placeholder = word.map(e => {
return "*"
});
let letter = 'l';
word.forEach(e => {
if (e === letter) {
placeholder.splice(word.indexOf(letter), 1, letter);
}
});
console.log(placeholder);
最佳答案
在回调中使用 index 参数到 forEach
而不是总是使用找到字母的第一个索引。
const word = ['h', 'e', 'l', 'l', 'o'];
var placeholder = word.map(e => {
return "*"
});
let letter = 'l';
word.forEach((e,i) => {
if (e === letter) {
placeholder.splice(i, 1, letter);
}
});
console.log(placeholder);
直接使用
map
简单得多。const word = ['h', 'e', 'l', 'l', 'o'];
let letter = 'l';
const res = word.map(e => letter === e ? letter: "*");
console.log(res);
关于javascript - 使用拼接替换所有找到的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67427973/