JavaScript
Переводчик цифры в буквы
Мне нужно написать переводчик, который переводит цифры в буквы, допустим 1 = А, 2 = Б, 3 = В, ..33 = Я. Но я не могу. Создайте пожалуйста, переводчик В КОРОТКОМ ВИДЕ. Пожалуйста.
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рлпоо
Стало кецВщрпоАрпалГаорыфкеБрлпоо
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рлпоо
Стало кецВщрпоАрпалГаорыфкеБрлпоо
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("привет мир"));
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("привет мир"));
Almas Meterbaev
не работает :(
На Паскале:
const s:string='АБВГДЕЁЖЗИЙКЛМНОПРСТУФЧЦЧШЩЪЫЬЭЮЯ';
var b:integer; begin readln(b); writeln(s[b]) end.
const s:string='АБВГДЕЁЖЗИЙКЛМНОПРСТУФЧЦЧШЩЪЫЬЭЮЯ';
var b:integer; begin readln(b); writeln(s[b]) end.
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) );
Ну можно так:
_________________
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) );
Да всё намного проще! Используй таблицу ASCII и всего делов то...
Например в ней символ 'А' имеет значение 192, а 'Я' - 223.
Т. е. для твоего примера нужно всего-то кодировать/декодировать отнимая/прибавляя число 191 к значениям таблицы.
Например в ней символ 'А' имеет значение 192, а 'Я' - 223.
Т. е. для твоего примера нужно всего-то кодировать/декодировать отнимая/прибавляя число 191 к значениям таблицы.
В принципе Спартанец абсолютно прав, но всё зависит от кодировки, например в UTF-8 это явно не 192, но есть способ наверняка, char это тот же int, поэтому можно сделать такой трюк
for (int i = 0; i < 32; i++) {
ps.println((char)('А' + i));
}
Короче способа не придумаешь)
Это выведет тебе весь русский алфавит)
for (int i = 0; i < 32; i++) {
ps.println((char)('А' + i));
}
Короче способа не придумаешь)
Это выведет тебе весь русский алфавит)
Похожие вопросы
- Подскажите, как сделать мигание букв в java Script
- JS/ Перевод числа в буквы...
- Помогите решить задачу по js! Программа выводит все заглавные буквы в тексте. Как распределить эти буквы по алфавиту?
- Как с помощью js придать в тексте конкретной букве или знаку стили
- Как написать скрипт-переводчик на JS?
- Когда вы начали учить детей цифрам и буквам?
- программа для заполнения диска беспорядочным набором цифр и букв
- Вопрос по С++ : Как определить количество цифр и букв в строчке.
- Что означают цифры и буквы на масле?
- На компьютере печатаются цифры вместо букв