Добрый день! Подскажите пожалуйста, как решить данную проблему.
Есть функция, которая берёт строку и изменяет регистр каждой буквы. (Например: Gap, gAp, gaP) И потом возвращает массив этих строк. Проблема в том, что replace() оказывается заменяет только первое совпадение. Из-за этого например, вызов ф-ции со строкой 'Hello' возвращает неправильный массив. Потому что каждый раз меняется только первая буква " l ". Скажите пожалуйста, как можно исправить это.
function wave(str) {
let symbol, slice, waveArray = [];
waveArray.push(str);
for (let i = 1; i < str.length; i++) {
str = str.toLowerCase();
symbol = str.charAt(i);
slice = str.slice(i, (i + 1)).toUpperCase();
str = str.replace(symbol, slice);
waveArray.push(str);
}
return waveArray;
}
console.log(wave('Hello'));