详情看我之前写的文章 js 高阶函数之柯里化
map、reduce、filter
此三种函数均为高阶函数,如何实现这三个函数,接下来看看。...只不过平常都是通过该对象的实例调用
通过 .实例方法,该实例方法的 this 指针指向 它
map 的实现
高阶函数 map 能够将一个迭代函数有序地应用于一个数组中的每个元素,并返回一个长度相等的新数组...= map;
[1, 2, 3].map(ele => `#${ele}#`)
// myself
// ["#1#", "#2#", "#3#"]
reduce 实现
高阶函数 reduce...将一个数组中的元素精简为单一的值,该值是由每个元素与一个累计值通过一个函数计算得出的
function reduce(fn, accumulator) {
let idx = -1,...= reduce;
[1, 2, 3].reduce((n, p) => n + p)
// myself
// 6
// 也可以指定第一个累计值
[1, 2, 3].reduce((n, p) =