概述
封装函数–实现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]
最后
以上就是悲凉期待为你收集整理的map方法学习,封装函数--实现Array.prototype.map()的功能的全部内容,希望文章能够帮你解决map方法学习,封装函数--实现Array.prototype.map()的功能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复