This time no story, no theory. The examples below show you how to write function accum:
Examples:
accum("abcd") -> "A-Bb-Ccc-Dddd"
accum("RqaEzty") -> "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy"
accum("cwAt") -> "C-Ww-Aaa-Tttt"
function accum(s) {
let result = "";
for (let i = 0; i < s.length; i++) {
result += s[i].toUpperCase();
for (let j = 0; j < i; j++) {
result += s[i].toLowerCase();
}
if (i + 1 < s.length) {
result += '-'
}
}
return result;
}
.map()
의 괄호 안에를 항상 currentValue 하나만 넣어서 사용했었는데, 이렇게 쓸 수도 있다. currentValue와 index를 사용해 반복하는 횟수를 .repeat()
에 넣어주는 것이다.
.map(currentValue, index, array)
.repeat(n)
function accum(s) {
return s.split('').map((c, i) => (c.toUpperCase() + c.toLowerCase().repeat(i)))
.join('-');
}