Преобразование цифр в ANSI рисунок
Ответ на вопрос: https://ru.stackoverflow.com/questions/927983/javascript-%D1%86%D0%B8%D1%84%D1%80%D1%8B-%D0%B2-%D1%80%D0%B8%D1%81%D1%83%D0%BD%D0%BE%D0%BA-%D0%B7%D0%B2%D0%B5%D0%B7%D0%B4%D0%BE%D1%87%D0%BA%D0%B0%D0%BC%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D1%82%D0%BA%D0%B0%D0%BC%D0%B8
by Alexey Demin
HTML
<p>
<input type="text" placeholder="Введите несколько цифр..." />
<button>
OK
</button>
</p>
<div>
<textarea rows="10"></textarea>
</div>
CSS
textarea {
width: 100%;
font-family: monospace;
}
JavaScript
let txtArea = document.querySelector('textarea'),
input = document.querySelector('input'),
btn = document.querySelector('button');
const symbols = Object.freeze({
0: [
' ### ',
' # # ',
'# #',
'# #',
'# #',
' # # ',
' ### '
],
1: [
' # ',
' ## ',
'# # ',
' # ',
' # ',
' # ',
'#####'
],
2: [
' ##### ',
'# #',
' #',
' ##### ',
'# ',
'# ',
'#######'
],
3: [
' ##### ',
'# #',
' #',
' ##### ',
' #',
'# #',
' ##### '
],
4: [
'# ',
'# # ',
'# # ',
'# # ',
'#######',
' # ',
' # '
],
5: [
'#######',
'# ',
'# ',
'###### ',
' #',
'# #',
' ##### '
],
6: [
' ##### ',
'# #',
'# ',
'###### ',
'# #',
'# #',
' ##### '
],
7: [
'#######',
'# # ',
' # ',
' # ',
' # ',
' # ',
' # '
],
8: [
' ##### ',
'# #',
'# #',
' ##### ',
'# #',
'# #',
' ##### '
],
9: [
' ##### ',
'# #',
'# #',
' ######',
' #',
'# #',
' ##### '
]
});
btn.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
let numbers = input.value.replace(/\D/g, '').split('');
if (numbers.length) {
txtArea.value = '';
for (let line = 0; line < symbols[0].length; line++) {
for (let j = 0; j < numbers.length; j++) {
txtArea.value += symbols[numbers[j]][line] + ' ';
}
txtArea.value += '\n';
}
}
});