Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2022, 21:20
Новичок на форуме
Отправить личное сообщение для Spily Посмотреть профиль Найти все сообщения от Spily
 
Регистрация: 05.12.2022
Сообщений: 4

Проблема в строке с методом replace()
Добрый день! Подскажите пожалуйста, как решить данную проблему.
Есть функция, которая берёт строку и изменяет регистр каждой буквы. (Например: 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'));
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2022, 21:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Spily,
function wave(str) {
    let symbol, waveArray = [], length = str.length;
    waveArray.push(str);
    str = str.toLowerCase();
    for (let i = 1; i < length; ) {
        symbol = str[i].toUpperCase();
        waveArray.push(str.slice(0, i) + symbol + str.slice(++i));
    }
    return waveArray;
}
console.log(wave('Hello'));
console.log(wave('Gap'));
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2022, 21:03
Новичок на форуме
Отправить личное сообщение для Spily Посмотреть профиль Найти все сообщения от Spily
 
Регистрация: 05.12.2022
Сообщений: 4

рони,
Спасибо Вам большое! Благодаря вам понял как это реализовать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с fancybox 2 pamparam83 jQuery 1 29.04.2013 21:51
Проблема с кодировками скрипта Zim_one Events/DOM/Window 23 15.02.2013 02:52
Какая-то проблема с методом find в ie7 и ie8 norabirkin jQuery 5 09.08.2012 17:47
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47