出于自我開發目的,我想創建一個帶有兩個引數的函式 - 字串和陣列。它應該回傳一個沒有在陣列中給出的字母的字串。
function filterLetters(str, lettersToRemove) {
}
const str = filterLetters('Achievement unlocked', ['a', 'e']);
有人可以給我任何關于如何實作這一目標的指示嗎?
uj5u.com熱心網友回復:
對于每個要替換的字母,替換它。完成后,回傳更新后的字串:
function filterLetters(str, lettersToRemove) {
lettersToRemove.forEach(function(letter){
str = str.replaceAll(letter, '');
})
return str
}
另請參閱如何替換 JavaScript 中所有出現的字串。
uj5u.com熱心網友回復:
使用(so )由陣列元素創建正則運算式,然后使用空字串替換這些字母。joining|a|ereplaceAll
如果您想同時洗掉大寫和小寫字母,請使用
str.toLowerCase().replaceAll(re, '');
function filterLetters(str, lettersToRemove) {
const re = new RegExp(lettersToRemove.join('|'), 'g');
return str.replaceAll(re, '');
}
const str = filterLetters('Achievement unlocked', ['a', 'e']);
console.log(str);
uj5u.com熱心網友回復:
您可以使用正則運算式和 replaceAll 從字串中洗掉所有字符。
const removeChar = (str, char) => {
return str.replaceAll(new RegExp(`[${char}]`, "gi"), "");
};
const run = () => {
const str = "Achievement unlocked";
const chars = ["a", "e"];
let result = str;
chars.forEach((char) => {
result = removeChar(result, char);
});
return result;
};
console.log(run());
uj5u.com熱心網友回復:
一種簡單的方法是回圈遍歷陣列中的每個值,并使用每個索引字符呼叫 str 上的替換字串方法。下面的代碼就是這樣做的。
function filterLetters(str, lettersToRemove){
for (const letter of lettersToRemove){
str = str.replaceAll(letter,"");
}
return str;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/480774.html
標籤:javascript 数组 细绳 功能
