我試圖得到這樣的輸出:
['h', 'ee', 'lll', 'llll', 'ooooo']
目前我的輸出是:
[ 'h', 'ee', 'lll', 'lll', 'ooooo' ]
問題是“l”的第二次出現不再重復一次,因為我正在計算字母的索引然后加 1,它只計算“l”的第一次出現。這是我到目前為止的代碼,任何幫助都會很棒。
function mumble(string) {
string.toLowerCase();
let arrayPush = [];
let array = string.split("");
let count = 0;
let char = [];
array.map((letter) => {
count = array.indexOf(letter);
arrayPush.push(letter.repeat(count 1));
});
return arrayPush;
}
console.log(mumble("hello"));
uj5u.com熱心網友回復:
不要使用indexOf,使用回呼中的第二個引數.map來確定索引(以及重復字串的次數)。
function mumble(string) {
string.toLowerCase();
let arrayPush = [];
let array = string.split("");
let count = 0;
let char = [];
array.map((letter, i) => {
arrayPush.push(letter.repeat(i 1));
});
return arrayPush;
}
console.log(mumble("hello"));
uj5u.com熱心網友回復:
您可以簡單地遍歷字串,使用string 方法訪問每個字符,并將其產品推送到結果陣列,而不是從字串應用.map到陣列。split.charAt().repeat()
作業片段:
console.log(mumble('hELlo'));
function mumble(string) {
const result = [];
for(let i=0; i<string.length; i ) {
result.push(string.toLowerCase().charAt(i).repeat(i 1));
}
return result;
} // end function mumble;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/459708.html
標籤:javascript 功能 方法 指数 高阶函数
