Как изменить все символы строки в Javascript с помощью метода replace ()? - PullRequest
2 голосов
/ 09 ноября 2019

Я пытаюсь изменить символы строки, используя цикл for. Моя цель - поменять каждого персонажа следующим. Например, a следует преобразовать в b , b в c и, наконец, z в и т. д. Я написал следующий код, но он не работает.

function LetterChanges(str) { 
    var char = "abcdefghijklmnoprstuvyz";
    for(var i = 0; i < char.length; i++) {
        var newStr = str.replace(/char[i]/gi, char[i + 1]); // the problem is here 
    }
    return newStr; 
}
   
// keep this function call here 
console.log(LetterChanges(readline()));

Ответы [ 2 ]

3 голосов
/ 09 ноября 2019

Вы можете найти букву и заменить на функцию.

function LetterChanges(str) {
    var char = "abcdefghijklmnoprstuvyz";
    return str.replace(/[a-z]/gi, c => char[char.indexOf(c) + 1] || char[0]);
}

console.log(LetterChanges('foobar'));
0 голосов
/ 09 ноября 2019

в одном ряду:

const LetterChanges = (str=‘’) => String.fromCharCode(...[...str].map(c => c.charCodeAt(0) +1));

или, если вы предпочитаете:

function LetterChanges(str = ‘’) {
    return String.fromCharCode(...[...str].map(c => c.charCodeAt(0) +1));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...