map方法学习,封装函数--实现Array.prototype.map()的功能

来源:互联网 发布:python搭建web服务器 编辑:程序博客网 时间:2024/06/06 20:42

封装函数–实现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]
0 0
原创粉丝点击