map方法学习,封装函数--实现Array.prototype.map()的功能
2017-05-14 12:04
801 查看
封装函数–实现Array.prototype.map()的功能
Array.prototype.map( )这个方法是很有使用价值的,可以省下循环的步骤,处理数组中的每个元素,同时返回一个新的数组。我使用闭包封装了一个方法来实现类似的功能。Array.prototype.map()方法
首先看一下Array.prototype.map()方法map() 方法创建一个新数组,其结果是该数组中的每个元素调用一个提供的函数。
map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值(包括 undefined)组合起来形成一个新数组。
//map方法 var data = [10, 20, 30, 40]; var roots = data.map(function (ele) { return ele / 10; }); console.log(roots);//[1,2,3,4] console.log(data);//[10, 20, 30, 40]
封装函数实现Array.prototype.map()方法
下面是实现map方法的函数封装。暂时只是实现了基础功能,具体还有很多优化可以做。
function myMap(data, fn) { var arg = []; for (var i = 0; i < data.length; i++) { (function (ele, fn) { //每一个元素处理后放入新数组 arg.push(fn(ele)); })(data[i], fn); } return arg; } var data = [10, 20, 30, 40]; var roots= myMap(data, function (ele) { return ele / 10; }); console.log(roots);//[1,2,3,4]
相关文章推荐
- Array对象的方法实现(5)----Array.prototype.includes(实现常规参数的功能)
- Array对象的方法实现(6)----Array.prototype.indexOf(实现常规参数的功能)
- Go语言用map实现堆栈功能的方法
- C语言中strtok使用方法与原理,以及自实现函数功能
- 给出函数atoi(x)的实现方法,其功能是将字符串x转换为整数
- thinkphp函数学习(1)——header, get_magic_quotes_gpc, array_map, stripslashes, stripslashes_deep
- Prototype 学习——工具函数学习($方法)
- 回调函数的C++ 封装(非静态成员函数的回调函数实现方法)
- 黑马程序员-JAVA学习之工厂方法模式,工厂类用反射功能实现
- 利用Array Prototype的方法来实现对dom集合的筛选、indexOf、map等功能
- 数据结构和算法学习系列之快速排序的Partition函数一种实现方法
- [学习]实现split功能的函数
- Prototype 学习 工具函数学习($w,$F方法)
- 实现连缀调用的map方法(prototype)
- Prototype 学习——工具函数学习($A方法)
- php学习笔记5--php自创功能函数的封装
- Prototype 学习 工具函数学习($A方法)
- JXCELL实例学习与研究(六) 之 sheet的分页功能的实现,以及基本EXCEL公式的使用 以及补充函数说明
- JS自定义对象实现Java中Map对象功能的方法
- 通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言。庞大的函数库支持着PHP语言功能的实现。下面我们为大家介绍有关PHP函数isset()与empty()的相关用法。