Можно ли создать массив объектов, выполняющих функцию? Например, вот так:
<script> console.clear(); const acts = [ { 'inc' : (x) => x+1 }, { 'dec' : (x) => x-1 } ]; console.log(acts.inc(10)); console.log(acts.dec(15)); </script>
Вышеуказанное дает ошибку - TypeError: plays.in c не является функцией.
Вы почти у цели! Создайте объект со «свойствами функции» вместо массива объектов:
acts = { 'inc' : (x) => x+1, 'dec' : (x) => x-1 };
Затем
acts.inc(3)
вернет:
4
В исходном код, вам нужно будет использовать:
acts[0].inc(3)
, потому что это массив ...
Для всех, кому интересно, вот как я использовал выбранное решение вместе с примером вывода для каждой созданной функции (с некоторыми параметрами).
Дополнительные комментарии приветствуются.
Вы можете добавить функцию к прототипу массива.
Array.prototype.inc = <function>