Преобразование цифр в 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';
    }
  }
});