nchur
@nchur

Как сделать переводчик на «хакерский язык»?

Переведите англоязычный текст на «хакерский язык» (h4ck3rsp34k)! Многим в интернете нравится заменять некоторые буквы похожими на них числами — например, число «4» похоже на букву «A», «3» похоже на «E», «1» — на «I», а «0» — на «О». Хотя цифры напоминают скорее заглавные буквы, мы будем заменять ими буквы строчные. Чтобы перевести обычный текст на «хакерский язык», понадобится строка с исходным текстом и новая пустая строка для результата:

var input = "javascript is awesome";
var output = "";

Теперь воспользуйтесь циклом for, чтобы перебрать все сим-волы исходной строки. Встретив букву «a», добавьте к результирующей строке «4». Встретив «e», добавьте «3», встретив «i»,добавьте «1», а встретив «o» — «0». В противном случае просто добавляйте к результату исходный символ. И снова оператор +=отлично подойдет для добавления символа в конец строки.После завершения цикла выведите результирующую строку в консоль. Если программа работает верно, вы должны увидеть следующее: "j4v4scr1pt 1s 4w3s0m3".
  • Вопрос задан
  • 1465 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
var input = "javascript is awesome leet";
var output = "";
for (let i = 0; i<input.length; i++) {
  let symbol = input[i]
  switch (symbol) {
    case 'a': output += '4'; break;
    case 'e': output += '3'; break;
    case 'i': output += '1'; break;
    case 'o': output += '0'; break;
    case 't': output += '7'; break;
    default: output += symbol;
  }
}
console.log(output)
https://jsfiddle.net/z9o7fg8a/
Если вы еще не знакомы с конструкцией switch, можно заменить на серию if-else

Хотя я бы писал как-то так:
var input = "javascript is awesome leet";
var replaceList = {
	'a': 4,
  'e': 3,
  'i': 1,
  'o': 0,
  't': 7,
}

var output = input.split('').map(s => replaceList[s] || s).join('')
console.log(output)
https://jsfiddle.net/z9o7fg8a/1/

А вообще, какой смысл в обучении, если задачки за вас решает кто-то другой?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@otstou
var input = "javascript is awesome";
var output = "";
for (var i = 0;i< input.length;i++){if(input[i]==="a") {output+="4"}
else if(input[i]==="e") {output+="3"}
else if(input[i]==="i") {output+="1"}
else if(input[i]==="o") {output+="0"}
else{output += input[i]}}
console.log(output);
Ответ написан
cronk
@cronk
Делаю графику для кино. Роботы, взрывы, пиу-пиу!
C js знаком слабо. Вот так можно сделать? Или так совсем плохо?
"javascript is awesome".replace(/a/g, "4")
                       .replace(/e/g, "3")
                       .replace(/i/g, "1")
                       .replace(/o/g, "0")
                       .replace(/t/g, "7");
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы