首页 > 其他分享 >js中map的实现

js中map的实现

时间:2022-12-16 11:45:50浏览次数:47  
标签:map 函数 实现 js result 数组 方法 fn

JS中map的实现

思路分析

map是所有数组都可以用的方法,因此我们可以将方法挂在到Array.prototype上去
之后所有的数组都可以访问到这个方法
map函数,接收一个函数当作参数,并且这个函数有返回值,
之后对数组中每个元素都执行这个函数,最后将所有的执行结果返回

代码实现

Array.prototype._map = function (fn) {
 // 传入的fn如果不是函数则直接返回
 if (typeof (fn) !== 'function') return
 // map方法会返回新数组
 const result = []
 // 给数组中的每一个方法都执行一次这个函数,并将返回值添加到result数组中
 // this指代的是当前调用的数组
 for (let i = 0; i < this.length; i++) {
   result.push(fn(this[i]))
 }
 return result
}
let arr = [1, 2, 3, 4, 5, 6]
// 测试
console.log(arr._map(item => item + 'aaa'))
// 输出结果:[ '1aaa', '2aaa', '3aaa', '4aaa', '5aaa', '6aaa' ]

标签:map,函数,实现,js,result,数组,方法,fn
From: https://www.cnblogs.com/zx529/p/16986930.html

相关文章

  • windows安装npm教程(nodejs)
    1、在使用之前,先类掌握3个东西,明白它们是用来干什么的:npm: nodejs下的包管理器。webpack:它主要用途是通过CommonJS的语法把所有浏览器端需要发布的静态资源作相应......
  • IDEA没有新建jsp文件按钮
    问题描述:在学习jsp的过程中,使用IDEA软件新建web文件,右击新建jsp时,没有找到jsp文件。可能是没有添加web路径,该如何解决呢?解决方案:1.点击右上角file,选......
  • 原生JS加jQuery实现拖拽和单击上传文件
    单击实现用的是html的input标签,设置multiple='multiple'之后就可以同时选多个文件了<inputtype="file"multiple='multiple'/>拖拽实现依赖event.dataTransfer实现event.da......
  • 刷新页面怎么实现数字滚动?
    刷新页面,显示动态数据。......
  • 12 实现用户聚类推荐
    用户聚类结果:key-用户ID,value-聚类数字将用户聚类结果结合历史日志生成热榜记录将计算结果缓存:正排列表存用户ID和聚类数字,倒排列表存聚类数字和推荐ITEM列表在线服......
  • MapReduce
    实验干嘛实现一个分布式的MapReduce,由两部分组成,master和worker。一个master,多个worker。在本机运行,worker和master用rpc通信。每个worker向master索要任务......
  • 共享文件夹实现文件版本管理,避免被篡改、丢失
    要求:1、可上传文件2、可下载文件3、不可删除、不可替换4、不可修改里面内容实现步骤如下:1、建立一个系统普通用户,例如起名为share。2、在E盘建立一个共享文件夹。3、设......
  • 免费天气API,天气JSON API,天气插件
    免费天气API,天气JSONAPIAPI地址:​​免费天气API,天气JSONAPI,不限次数获取十五天的天气预报—技术博客​​第一步:城市信息请在百度网盘下载:链接: ​​https://pan.baidu.c......
  • Ztree实现搜索框自动检索功能
    ztree自定搜索框添加搜索功能,注:菜单内容一次性加载,后端数据使用父子嵌套的json数据  前段代码:<!DOCTYPEhtml><html><head><metacharset="utf-8"/><t......
  • 使用 System.Text.Json 时,如何处理 Dictionary 中 Key 为自定义类型的问题
    在使用System.Text.Json进行JSON序列化和反序列化操作时,我们会遇到一个问题:如何处理字典中的Key为自定义类型的问题。背景说明例如,我们有如下代码: //定义一个......