JavaScript

Переводчик цифры в буквы

Мне нужно написать переводчик, который переводит цифры в буквы, допустим 1 = А, 2 = Б, 3 = В, ..33 = Я. Но я не могу. Создайте пожалуйста, переводчик В КОРОТКОМ ВИДЕ. Пожалуйста.
AM
Almas Meterbaev
490
str = 'кец3щрпо1рпал4аорыфке2рлпоо';
str2 = str.split('');
numbers = [1,2,3,4];
leters = ['А','Б','В','Г']
for (var i = 0; i < str2.length; i++) {
if (!isNaN(parseInt(str2[i]))) {
for (var k = 0; k < numbers.length; k++) {
if (str2[i] == numbers[k]) {
str2[i] = leters[k]
};
};
}
};
alert(str2.join(''))
>>>>
Было кец3щрпо1рпал4аорыфке2рлпоо
Стало кецВщрпоАрпалГаорыфкеБрлпоо
Ooo Стм
Ooo Стм
71 592
Лучший ответ
Almas Meterbaev Спасибо!
const translite = (x) => {
const a = " АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
if (typeof x === 'number') {
if (x > 0 && x < 34) return a[x];
} else if (typeof x === 'string') {
let n = x.length;
if (n == 1) return a.indexOf(x.toLocaleUpperCase());
else {
let box = [];
let s = x.toLocaleUpperCase();
for (let i of s) {
console.log(i);
box.push(a.indexOf(i));
}
return box;
}
}
return x;
};

let n = 14;
let m = translite(n);
let x = translite(m);
console.log(n + " <=> " + m);
console.log(m + " <=> " + x);
console.log(translite("привет мир"));
Никита Зубов
Никита Зубов
80 312
Almas Meterbaev не работает :(
На Паскале:

const s:string='АБВГДЕЁЖЗИЙКЛМНОПРСТУФЧЦЧШЩЪЫЬЭЮЯ';
var b:integer; begin readln(b); writeln(s[b]) end.
Антон Сорокин
Антон Сорокин
76 076
Almas Meterbaev мне нужен javascript
111 - это `AAA` или `АЙ` ?) Нужен разделитель...
Ну можно так:
_________________

let translate = getTranslator();

alert( translate("ВАСЯ") );

function getTranslator() {
  let obj = {
    А: 1,  Б: 2,  В: 3,   Г: 4,  Д: 5,
    Е: 6,  Ё: 7,  Ж: 8,  З: 9,  И: 10,
    Й: 11, К: 12, Л: 13, М: 14, Н: 15,
    О: 16, П: 17, Р: 18, С: 19, Т: 20,
    У: 21, Ф: 22, Х: 23, Ц: 24, Ч: 25,
    Ш: 26, Щ: 27, Ъ: 28, Ы: 29, Ь: 30,
    Э: 31, Ю: 32, Я: 33,
  };

  let error = function () {
    throw new Error("Unexpected string");
  }

  return function (str) {
    return str.split("").map( e => ( obj[e] || error() ) );
  }
}

Еще можно использовать

alert( String.fromCharCode(1040) );
alert( "А".charCodeAt(0) );
Azamat Azamat
Azamat Azamat
62 360
Да всё намного проще! Используй таблицу ASCII и всего делов то...
Например в ней символ 'А' имеет значение 192, а 'Я' - 223.
Т. е. для твоего примера нужно всего-то кодировать/декодировать отнимая/прибавляя число 191 к значениям таблицы.
Геннадий Хон
Геннадий Хон
19 976
В принципе Спартанец абсолютно прав, но всё зависит от кодировки, например в UTF-8 это явно не 192, но есть способ наверняка, char это тот же int, поэтому можно сделать такой трюк

for (int i = 0; i < 32; i++) {
ps.println((char)('А' + i));
}

Короче способа не придумаешь)
Это выведет тебе весь русский алфавит)
Сергей *
Сергей *
1 189