2019-03-23
描述
创建一个最多接受 n
个参数的函数,他可以忽略任何多余的参数。
提示
参数 fn
为提供的函数, n
为函数最多接受的参数的个数,可使用 Array.prototype.slice(0, n)
和扩展运算符 ...
。
代码
const ary = (fn, n) => (...args) => fn(...args.slice(0, n));
示例
依次获取长度不同的数组中的前 2 位中较大的值:
const firstTwoMax = ary(Math.max, 2);
[[2, 6, 'a'], [8, 4, 16], [10]].map(x => firstTwoMax(...x)); // [6, 8, 10]
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于