@HelpMeeee

Как лучше хранить такие данные?

Приветствую!
Есть такая таблица цифр - 605e52d1e60d6467618072.png
Как ее лучше хранить? В js или где-то еще чтобы при разборе слова на буквы можно было работать с этими цифрами?
То есть у каждой буквы два цифровых значения
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
@HelpMeeee Автор вопроса
Самый простой способ -
const letters = {
'А': [1, 1],
'Б': [2, 2],
'В': [3, 3],
'Г': [4, 4],
'Д': [5, 5],
'Е': [6, 6],
'Ё': [7, 7],
'Ж': [8, 8],
'З': [9, 9],
'И': [1, 0],
'Й': [2, 1],
'К': [3, 2],
'Л': [4, 3],
'М': [5, 4],
'Н': [6, 5],
'О': [7, 6],
'П': [8, 7],
'Р': [9, 8],
'С': [1, 9],
'Т': [2, 0],
'У': [3, 1],
'Ф': [4, 2],
'Х': [5, 3],
'Ц': [6, 4],
'Ч': [7, 5],
'Ш': [8, 6],
'Щ': [9, 7],
'Ь': [1, 8],
'Ы': [2, 9],
'Ъ': [3, 0],
'Э': [4, 1],
'Ю': [5, 2],
'Я': [6, 3]
};
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Можно и не хранить.
// Первая цифра
'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'.indexOf('Щ') % 9 + 1 // 9
// Вторая цифра
('АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'.indexOf('Ф') + 1) % 10 // 2
Ответ написан
@rPman
Прежде чем задавать вопрос - 'как хранить', нужно ответить на - 'как будешь использовать'.

В данном случае возможны следующие подзадачи
- поиск номера по букве
- поиск буквы по номеру
- получение списка букв или списка номеров
- получение следующей или предыдущей по номеру буквы, получение первой или последней буквы

В зависимости от способа реализации каждой поздазачи могут появляться новые подзадачи. Например если вам нужно не просто циклом пробегать то предыдущий следующий не нужны, но если нужно параллельно работать с двумя списками, то нужен доступ по номеру и проверка начала конца.

С высокой вероятностью вам хватит двух массивов:
* ['а','б','в',...] - обычная строчка может выступать таким массивом ('абвг...')[3]
* обратный индекс {'а':0,'б':1,'в':2,..} обычный объект или new map()
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы