用ES5实现ES6的数组方法map
2024-09-06 09:07:59
先举个常见的栗子:
var arr = [1,2,3,4,6,7,8,9,12,3,25,63,100] var arr2 = arr.map(item => item += 1) console.log(arr) // 原数组 console.log(arr2) // 返回一个每项加1的新数组
用ES5实现如下:
const myMap = function(fn, context){
let arr = Array.prototype.slice.call(this)
let mapArr = []
for(let i = 0 ; i<arr.length ; i++ ){
if(!arr.hasOwnProperty(i)) continue
mapArr.push(fn.call(context,arr[i],i,this))
}
return mapArr
} Array.prototype.myMap = myMap var arr = [1,2,3,4,5] var arr2 = arr.myMap(item=>item += 1) console.log(arr) // [1,2,3,4,5]
console.log(arr2) // [2,3,4,5,6]
最新文章
- httpd服务访问控制
- 在Winform开发框架中实现对数据库的加密支持
- memcpy与memmove区别
- Coppersmith-Winograd 算法
- CSS before和after伪元素
- c++11 auto
- C#控件TabControl隐藏page
- 令人作呕的OpenSSL
- Xcode调试之查看变量
- MVC 包命名规范
- 以正确的姿势实现一棵JavaScript菜单树
- Spring Boot使用过滤器和拦截器分别实现REST接口简易安全认证
- 065 updateStateByKey的函数API
- mysql短日期 长时间转换为短日期
- delphi控制本计算机和远程计算机关机等
- spring配置多视图解析器
- N的阶乘末尾有多少个0
- Linux下的文件与目录权限
- 如何将thick provision lazy zeroed的VMDK文件转换为thick provision eager zeroed?
- 【angular5项目积累总结】http请求服务封装
热门文章
- 新浪微博API错误代码说明对照表 http://open.weibo.com/wiki/Error_code
- Uniapp使用iconfont
- 解析P2P金融的业务安全
- BERT大火却不懂Transformer?读这一篇就够了
- HTML 标签:常规元素和空元素
- [转]分布式监控工具Ganglia 介绍 与 集群部署.
- http请求头包括了哪些常见内容
- VMware虚拟机安装Windows2003操作教程
- MySQL Workbench: mysqldump version mismatch
- 深度解读 - TDD(测试驱动开发)