加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

什么是 JS 本地的 map 对象实现及其相关的代码

发布时间:2023-10-27 12:40:30 所属栏目:语言 来源:
导读:很多朋友都对“JS原生map实现的思路和代码是什么?”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!js原生方法

很多朋友都对“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;

}

现在大家对于JS原生map实现的思路和代码是什么?的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章