手动实现 Js 数组 forEach map 方法
程序员文章站
2022-06-09 17:02:21
...
**手动实现** js 数组 forEach map 方法
我们都知道 forEach map 都是挂载在数组原型上的方法,为所有数组共用
而我们需要制作实现 forEach map 的效果 也需要在原型上创建一个属于自己的原型方法
实现forEach 方法 如下:
// 步骤一
Array.prototype.myforEach = function (fun){
// 循环调用传进来的函数参数 并给予函数传递实参
for(let i = 0 ; i < this.length ; i++){
fun(this[i],i,this)
}
// forEach 是没有返回值的 这里我们返回一个 undefined
return undefined
}
// 声明一个数组
let Arr = ['Mi','六']
// 调用我们创建的 方法 并传入参数(参数为函数)
Arr.myforEach((item,index,_this)=>{
console.log(item,index,_this);
/* 结果如下
Mi 0 ["Mi", "六"]
六 1 ["Mi", "六"]
自己实现的forEach方法就已经实现了
*/
})
实现 map方法如下:
// 步骤一
Array.prototype.myMap = function (fun){
// 循环调用传进来的函数参数 并给予函数传递实参
// map 方法返回值是一个新数组 这里我们声明一个数组接受返回值
let arr = []
for(let i = 0 ; i < this.length ; i++){
// 将 fun 的返回值添加到返回数组里去
arr.push(fun(this[i],i,this))
}
// 将 返回值数组 返回
return arr
}
// 调用我们创建的 方法 并传入参数(参数为函数)
let newArr = Arr.myMap ((item,index,_this)=>{
return index+item
})
// 打印 newArr 查看效果
console.log(newArr);
/* 结果如下
["0Mi", "1六"]
自己实现的map方法就已经实现了
*/
推荐阅读
-
JavaScript数组迭代方法:forEach(),map(),filter(),reduce(),every(),some(),indexOf(),lastIndexOf(),find()
-
js 数组方法 forEach map includes filter some every find findIndex reduce
-
如何使用JS.map()方法(数组方法)
-
JS学习笔记之数组去重实现方法小结
-
JS学习笔记之数组去重实现方法小结
-
JS实现数组去重,显示重复元素及个数的方法示例
-
JS实现的自定义map方法示例
-
js实现数组去重方法及效率對比
-
JS实现二维数组横纵列转置的方法
-
JS实现数组去重,显示重复元素及个数的方法示例