Project Euler 8: Largest product in a series in Functional Programming (FP)
Some notes about your code:


(function () {. Is this old-style wrapping really needed? Isn't this a node.js script?
You parsed INPUT manually from the question. You should probably leave the input as similar as possible to how it's stated and do the parsing programatically.
const multiply = (acc, val) =&gt; acc * val;: The variable names reveal how the function is used; instead, keep it generic: const multiply = (x, y) =&gt; x * y;. Consider also creating the abstraction product, the product of all numbers in an array.
parser(latestMaxProduct, number.slice(1)); You should use recursive calls as a last resort, only when higher-level abstractions (map, filter, reduce, ...) are not enough. 
I'd separate generic functions from the specific code used in the problem. Re-using generic abstractions is one the fundamental principles of FP.


I'd write:

const range = (start, end) =&gt; Array.from(new Array(end - start), (x, i) =&gt; i + start);
const groupsOf = (xs, n) =&gt; range(0, xs.length - n + 1).map(i =&gt;  xs.slice(i, i + n));
const product = xs =&gt; xs.reduce((acc, x) =&gt; acc * x, 1);
const maximum = xs =&gt; Math.max(...xs);

const euler8 = () =&gt; {
  const unparsedDigits = `
    73167176531330624919225119674426574742355349194934
    96983520312774506326239578318016984801869478851843
    ...
  `;
  const groupSize = 13;

  const digits = unparsedDigits.replace(/[^\d]/g, "").split("").map(c =&gt; parseInt(c));
  return maximum(groupsOf(digits, groupSize).map(product));
}

console.log(euler8());