Пишу про разработку вообще и в частности про: JavaScript, HTML5, CSS3, AngularJS, ReactJS, Agile.

Таблица умножения в функциональном стиле

Итак, задача простая – вывести таблицу умножения. Поскольку ничего такого в этом нет, то немного усложним – нужно сделать максимально функционально, то есть вообще не использовать циклы. На выходе должно получиться вот так:

multiplication-table

Самое смешное, что в JS нет явного функцонального способа создать цикл. Если речь заходить о циклах, то перед глазами сразу встает for или while, но они же ни разу не фенкциональные =)

На языке Scala можно решить это достаточно просто:

А все потому, что циклы тут умеют сами возвращать значение. Но это в скале, а вот в JS все иначе.

Но мы тоже не вчера начала писать на JS и можем решить все и в функциональном стиле, хоть и придется немного изравититься. Для начала нам потребуется создать массив из нужного количества элементов, а вот уже он и будет служить основой для функционального подхода. Теперь внимание вопрос – как создать массив из произвольного числа элементов, но без циклов. Как бы просто это не звучало, но не сомневаюсь, что есть немало фронтендеров, которые вот так сходу не смогут дать ответ. Вот так это делается:

Кстати, я об этом уже писал – Создаем массивы в JS

Это, кстати, и будет самым “сложным” этапом, после этого весь остальной код достаточно тривиален:

Поделиться:
comments powered by Disqus