ITPub博客

首页 > 应用开发 > > javascript前端:封装array的foreach方法

javascript前端:封装array的foreach方法

作者:wyvernw 时间:2019-10-25 11:13:59 0 删除 编辑

在日常工作中,会经常遍历数组,除了常用的for循环外,forEach应该也是最常用的

forEach语法

array.forEach(function(currentValue, index, arr), thisValue)

但是需要注意的是,这个方法在IE低版本中竟然不兼容,所以下面封装一个,封装代码如下:

if (!Array.prototype.forEach) {

Array.prototype.forEach = function forEach(callback, thisArg) {

var T, k;

if (this == null) {

throw new TypeError("this is null or not defined");

}

var O = Object(this);

var len = O.length >>> 0;

if (typeof callback !== "function") {

throw new TypeError(callback + " is not a function");

}

if (arguments.length > 1) {

T = thisArg;

}

k = 0;

while (k < len) {

var kValue;

if (k in O) {

kValue = O[k];

callback.call(T, kValue, k, O);

}

k++;

}

};

}

这里用到了prototype原型链

使用方式:

在ie8中运行正常,效果如下:

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/835/viewspace-3167183/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-12

  • 博文量
    128
  • 访问量
    1297