阵列map()、filter()和reduce()的多元填充

111 阅读1分钟

阵列方法的Polyfill:map(), filter()和reduce() 💁

照片:Federico BeccarionUnsplash

嘿!你可能在面试中被问到过这个问题,也可能没有。不管是什么情况,多了解一些也无妨。因此,我将在这里分享如何为mapfilterreduce 数组方法创建polyfill。

Let's Code !

Array.map()的Pollyfill

让我们先从语法上看看**Array.map()**是如何工作的。

let 

所以,原始的Array.map函数需要一个回调 函数作为参数,该回调函数可以有三个参数传入
:a. 当前值
b. 当前值的索引 [可选]
c. 数组 [可选]

在此基础上,让我们建立我们自己的map函数。

Array.prototype.myMap = function(

Pollyfill for Array.filter()

让我们先从语法上看看Array.filter()是如何工作的。

let newArray = arr.filter(callback(currentValue[, index[, array]]) {

所以,原始的Array.filter函数需要一个回调 函数作为参数,该回调函数可以有三个参数传入
:a. 当前值
b. 当前值的索引 [可选]
c. 数组 [可选]

在此基础上,让我们建立我们自己的过滤函数。

Array.prototype.myFilter = function(

Pollyfill for Array.reduce()

让我们首先从语法上看看Array.reduce()是如何工作的。

arr.reduce(callback( accumulator, currentValue, [, index[, array]] )[, initialValue])

所以,最初的Array.reduce 函数需要两个参数
:1.一个回调 函数作为参数,该回调函数可以有四个参数传递给它:
a.累加器
b.当前值
c.当前值的索引[可选]
d.数组[可选]

2.一个初始值

在此基础上,让我们建立我们自己的reduce函数。

Array.prototype.myReduce= function(
for (var i = 0; i < this.length; i++) {

如果你喜欢这篇文章,请点击鼓掌图标并关注更多内容


阵列map()、filter()和reduce()的Polyfill 💁最初发表于Nerd For Techon Medium,人们通过强调和回应这个故事继续对话。