@dmitriyivvvv

Как можно упростить декодирование кода морзе?

Имеется следующий код:
decodeMorse = function(morseCode){
  var arr = [];
  morseCode.trim().split('   ').forEach(function(curr, ind) {
    arr[ind] = '';
    curr.split(' ').forEach(function(el) {
      arr[ind] += MORSE_CODE[el];
    });
  });
  return arr.join(' ').toUpperCase();
}

decodeMorse('.... . -.--   .--- ..- -.. .');

Как его можно упростить? Т.к на мой взгляд, вложенный forEach - это перебор.
  • Вопрос задан
  • 418 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const decodeMorse = code => code
  .trim()
  .split('   ')
  .map(n => n.split(' ').map(m => MORSE_CODE[m]).join(''))
  .join(' ');

или

const decodeMorse = code => code
  .trim()
  .replace(/\S+ ?/g, m => MORSE_CODE[m.trim()])
  .replace(/  /g, ' ');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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