Function arity
JavaScript, Function · Oct 18, 2020

Creates a function that accepts up to n
arguments, ignoring any additional arguments.
- Call the provided function,
fn
, with up ton
arguments, usingArray.prototype.slice()
and the spread operator (...
).
const ary = (fn, n) => (...args) => fn(...args.slice(0, n));
const firstTwoMax = ary(Math.max, 2);
[[2, 6, 'a'], [6, 4, 8], [10]].map(x => firstTwoMax(...x)); // [6, 6, 10]