根据数组中的位置重复字符 + 1
Repeat character depending on position in array + 1
我正在尝试获得这样的输出:
['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"));
不要使用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"));
无需将 .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;
我正在尝试获得这样的输出:
['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"));
不要使用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"));
无需将 .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;