該函式接受 3 個輸入:(字串 (str)、字串中的起點(索引)以及之后要洗掉的字符數(計數))。
function removeFromString(str, index, count) {
let newStr = '';
for (let i = index; i <= (index count); i ) {
newStr = str.replace(str[i], '');
}
return newStr;
}
它回傳的輸出最多可能洗掉一個字符,但僅此而已,這不是我想要實作的目標。
我想要的是一個函式,當被呼叫時,它將回傳一個沒有從 index 和 count 引數中指定的字符的函式。
uj5u.com熱心網友回復:
和
newStr = str.replace(str[i], '')
您總是將str
替換的基本字串作為原始輸入。newStr
在最后一次迭代之后,您永遠不會使用except;在此之前進行的所有替換都將丟失。
另一個問題是,str.replace(str[i], '')
如果它在字串中較早存在,而不是在您想要的索引處,它將替換相同的字符。
而是切片字串的索引。
const removeFromString = (str, index, count) => (
str.slice(0, index 1) str.slice(index count 1)
);
console.log(removeFromString('123456', 2, 2));
uj5u.com熱心網友回復:
只是使用 JS 的子字串方法的問題。
來自 Mozilla 開發者網路的子字串方法定義
function removeFromString(str, index, count) {
return str.substring(0, index) str.substring(index count);
}
console.log(removeFromString('fofonka', 2, 2));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/496470.html
標籤:javascript 细绳 功能 循环 代替
上一篇:嵌套for回圈的else陳述句
下一篇:我們可以在函式末尾回傳建構式嗎