Решение «Начинающий дешифровщик» через reduce

// Раскодированное сообщение
var decodedMessage = '';
var newArr = [];

encodedMessage.forEach((item, i) => {
  symbols.reduce((acc, current) => {   
    if (symbols.indexOf(current) === encodedMessage[i]) newArr.push(current);     
  }, newArr);  
});

decodedMessage = newArr.join('');

Ужасное решение!
Reduce - должен был упростить читаемость кода, а у вас еще хуже, чем на циклах . И для чего тут forEach? И зачем вам в редьюсе аккумулятор, если он никак не используется?

Вот адекватное решение с использование функции высшего порядка

var decodedMessage = encodedMessage.map(item => symbols[item]).join('');

С map решение более элегантное, согласен.
forEach ещё использовал, т.к. решение отталкивалось от перебора двух массивов с использованием indexOf

c редьюсом такое же элегантное

var decodedMessage = encodedMessage.reduce((acc, item) => `${acc}${symbols[item]}`, '');
1 лайк

Человек просто пришел блеснуть знаниями и лепит в код все подряд, что не входит в рамки изучаемой главы. Зачем он это делает он, видимо, и сам не понимает.

1 лайк

Гражданин, откуда столько злобы? У каждого своя программа, чего вы всех под свои рамки забиваете. Тут все обучаются для себя, а не для публики. И если увидели другое решение или ошибки - есть шанс учиться и на них.

2 лайка

Не приходила в голову мысль что вы новичков с толку сбиваете? А неправильными решениями еще и учите плохому.

Тут все новички и все выкладывают код чтобы узнать его недостатки или же поделиться оптимальным решением. Не приходила такая мысль?)
Испытания появились не сразу на сайте, кто-то успел пройти главу чуть ранее и потом вернуться для этих тасков уже позже с чуть большим знанием. Как-то глупо критиковать людей за написание кода как они это видят.

1 лайк

Вот только вчера общался с братом на эту тему. Он работает программистом. Рассказывал что всю непонятную информацию старается искать на английском языке. Во первых, информации больше; а во вторых, он заметил, что на русскоговорящих форумах люди часто пишут “читай документацию”, “а оно тебе надо вообще?!”, “вот, я нашел твой вопрос в первой строке гугла” и т.д. Он резюмировал, что в этой среде люди более токсичные и как следствие уменьшил до минимума поиск по соответствующим ресурсам. Читая данный топик я начинаю его понимать.

Вот моё решение:

for (let i = 0; i < encodedSymbols.length; i++) {
decodedMessage += symbols[encodedSymbols[i]];
};

примерно так и представлял себе решение,не стыдно подсмотреть если честно ,у тебя даже аватарка как у меня вк ))