accum("abcd") -> "A-Bb-Ccc-Dddd"accum("RqaEzty") -> "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy"accum("cwAt") -> "C-Ww-Aaa-Tttt"const accum = (str) => {
let res = '';
for (i = 1; i < str.length; i++) {
if (i == str.length) {
res = str[i] * i;
}
return res;
}
}
const xxx = str => Array
.from(str, (n, i) => n.toUpperCase() + n.toLowerCase().repeat(i))
.join('-');const xxx = str => str
.toUpperCase()
.split('')
.reduce((acc, n, i) => `${acc}${i ? '-' : ''}${n}${Array(-~i).join(n.toLowerCase())}`, '');const xxx = str => str
.toUpperCase()
.replace(/(?<=.)./g, (m, i) => '-'.concat(m, ...Array(i).fill(m.toLowerCase()))); ('a').toUppercase() // "A" и добавить хвост из повторов строчной после ('A').toLowerCase() // "a". ("x").repeat(3) // "xxx"map(func) вторым аргументом передаёт в функцию внутри индекс элемента: 0, 1, 2, ...[ ...'acdc' ] // [ "a", "c", "d", "c" ]const accum = alph => [...alph]
.map((c, i) => c.toUpperCase() + c.toLowerCase().repeat(i))
.join('-');