Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * This script will decode words by mirroring each letter index
- * in the alphabet, e.g.:
- * word: H E L L O
- * index: 7 4 11 11 14
- * reverted index: 19 22 15 15 12
- * encoded word: T W P P M
- *
- * Ukrainian alphabet is used. To use another alphabet,
- * just replace the "alphabet" string.
- */
- const words = 'ОКЄЯЛЛА УЗІИЇСД ЖЗИЮКН ЮЯЛО ЙКЧКЇКФ МКЇЦ ОЗЄЯЇ ЙСЬЦЛВ ЩНКЮЗІ ІКЛЦИ ЩКЇСНОЯ ЩЇЯЛВ ЬТІКИЯ ЙИЯЄ ИЇЗЮЯ ЙЦЧЯНВ ЧСЇОЯ ЬКЇКЛЯ ЮКЇКҐЛК ЧЇСФЧФС ІСО ОЦИДЗЙ ДЯІЛТО МЗЧЇСІИВ МКЛСИКЇ ІИЇСНОЯ ІКЮЯОЯ ІЦІСА ЮЗЇАО ЙЯМЙЗҐОЯ МКІОЯНВ НКЙЯИЯ '
- .split(' ')
- .filter(Boolean);
- const alphabet = 'абвгґдеєжзиіїйклмнопрстуфхцчшщьюя'
- const letters = alphabet
- .replace(/[,. ]/g, '') // clean non-letter chars
- .toUpperCase()
- .split('');
- const letterToIndex = letters.reduce((acc, letter, i) => ({
- ...acc,
- [letter]: i,
- }), {});
- const deciphered = words
- .map(w => w
- .split('')
- .map(letter => letters[letters.length - letterToIndex[letter] - 1])
- .join('')
- );
- console.log(deciphered);
- // ['КОХАННЯ', 'ЗУСТРІЧ', 'ФУТБОЛ', 'БАНК', 'ПОДОРОЖ', 'МОРЕ', 'КУХАР', 'ПІВЕНЬ', 'ГЛОБУС', 'СОНЕТ', 'ГОРІЛКА', 'ГРАНЬ', 'ВИСОТА', 'ПТАХ', 'ТРУБА', 'ПЕДАЛЬ', 'ДІРКА', 'ВОРОНА', 'БОРОШНО', 'ДРІЖДЖІ', 'СІК', 'КЕТЧУП', 'ЧАСНИК', 'МУДРІСТЬ', 'МОНІТОР', 'СТРІЛКА', 'СОБАКА', 'СЕСІЯ', 'БУРЯК', 'ПАМПУШКА', 'МОСКАЛЬ', 'ЛОПАТА']
Advertisement
Add Comment
Please, Sign In to add comment