用原生js实现forEach()方法

forEach() 方法从头至尾遍历数组,为每个元素调用指定的函数。它接收两个参数:要在每一项上运行的函数和运行该函数的作用域对象——影响this的值(可选的)。传递的函数作为第一个参数,会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。
forEach() 方法没有返回值,本质上与使用for循环迭代数组一样。它是es5新增的数组迭代方法,使用方法如下:

var arr = [1, 2, 3, 4, 5];
arr.forEach(function(item, index, array) {
    //执行某些操作
});

下面是用原生js模拟实现的forEach() 方法。

if(!Array.prototype.forEach) {
    Array.prototype.forEach = function(fn, context) {
        var context = arguments[1];
        if(typeof fn !== "function") {
            throw new TypeError(fn + "is not a function");
        }

        for(var i = 0; i < this.length; i++) {
            fn.call(context, this[i], i, this);
        }
    };
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容