Страницы

Поиск по вопросам

вторник, 8 января 2019 г.

Заменить буквы в слове JS

Не могу понять почему не работает replace, задача с freecodecamp(дана фраза, в словах которой, буквы из первой половины алфавита нужно заменить на буквы второй половины алфавита соответственно т.е А=N, B=O и т.д), все решения связанные с этой задачей были через charCodeAt(),можно ли вообще решить эту задачу через replace?
function rot13(str) { const alfabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; const half1 = alfabet.split(''); // ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M"] const half2 = half1.splice(0,13); // ["N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] const myStr = str.split(' '); for(let myShifrWords of myStr){ for(let i=0; i

Ответ

function rot13(str) { var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var map = Object.create(null); for (var q = 0; q < alphabet.length; ++q) { map[alphabet[q]] = alphabet[(q + 13) % alphabet.length]; } return str.replace(/./g, m => map[m] || m); } console.log(rot13("SERR CVMMN!"));

Комментариев нет:

Отправить комментарий