JS原生map实现的思路和代码是什么?
Admin 2022-10-13 群英技术资讯 1214 次浏览
很多朋友都对“JS原生map实现的思路和代码是什么?”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!js原生方法map实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="author" content="杨欣">
<title>map</title>
</head>
<body>
<script>
Array.prototype.my_map = function (callback) {
if (!Array.isArray(this) || !this.length || typeof callback !== 'function') {
return []
} else {
let result = [];
for (let index = 0; index < this.length; index++) {
const element = this[index];
result.push(callback(element, index, this))
}
return result
}
}
let arr = [1, 2, 3, 4, 5]
let res = arr.my_map((ele, i) => {
return ele + 10
})
console.log(res)
</script>
</body>
</html>
补充知识点
我们平时用的是已经封装好的map方法,如果让我们自己封装一个map,应该如何实现。
万变不离其宗,其实遍历数组的核心还是for循环。因此下面封装一个map方法。
思路:
1.在原型上添加一个方法
2.传一个函数和this
3.call 方法传的参数和封装好的map方法的参数是一样的。
Array.prototype.fakeMap = function(fn,context) {
let arr = this;
let temp = [];
for(let i=0;i<arr.length;i++){
let result = fn.call(context,arr[i],i,arr);
temp.push(result);
}
return temp;
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了vue递归组件实现elementUI多级菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家详细介绍了原生JS实现图片跑马灯特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
python虚拟环境 virtualenv是什么?virtualenv是一个创建隔绝的Python环境的工具。为什么要创建虚拟环境?它解决了“项目X依赖于版本1.x,而项目Y需要项目4.x”的两难问题,
本文主要介绍了iview 权限管理,iview-admin2.0自带权限管理。可以通过设置路由的meta对象的参数access来分配权限。感兴趣的可以了解一下
这篇文章我们来了解用jQuery如何获取ul下li的个数,下文示例对新手学习jQuery有一定的参考价值,有这方面学习需要的朋友接下来就跟随小编来一起学习一下吧!
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008