JS原生map实现的思路和代码是什么?
Admin 2022-10-13 群英技术资讯 772 次浏览
很多朋友都对“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
js中undefined和null的区别,有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于闭包的相关问题,其中包括了闭包是什么、为什么要这么设计以及能怎么用的相关内容,下面一起来看一下,希望对大家有帮助。
目录1 计算属性实现模糊查询2 watch 监听实现模糊查询3 通过按钮点击实现模糊查询1 计算属性实现模糊查询vue 中通过计算属性实现模糊查询,创建 html 文件,代码直接放入即可。这里自己导入 vue,我是导入本地已经下载好的。script src=./lib/vue-2.6.12.js/script演示:打开
这篇文章主要为大家详细介绍了JS实现移动端上下滑动一次一屏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了js删除对象中的某一个字段的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008