专栏首页网站建设、网站制作专栏javascript前端:封装array的foreach方法
原创

javascript前端:封装array的foreach方法

在日常工作中,会经常遍历数组,除了常用的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原型链

使用方式:

<script>
var vModel=[1,2,3,4] ; 
vModel.forEach(function (item, index) {
 console.log("值:"+item+"---序号:"+index)
 });
</script>

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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 面试题: 深入理解事件循环机制

    JS异步执行原理: js执行引擎只有一个主线程执行代码逻辑,遇到需要异步执行的任务代码,会将其添加事件队列中。当主线程空闲时,轮询事件队列中可以执行的任务,将其...

    用户1462769
  • Java 必须掌握的 20+ 种 Spring 常用注解

    注解本身没有功能的,就和 xml 一样。注解和 xml 都是一种元数据,元数据即解释数据的数据,这就是所谓配置。

    框架师
  • 微信小程序优化uni-app

    onLaunch 当uni-app初始化完成时触发 onShow 当uni-app启动,或从后台进入前台显示 onHide 当uni-app从前台进入后台

    达达前端
  • Spring Boot 2.0 整合携程Apollo配置中心

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治...

    框架师
  • Flutter | 超简单仿微信QQ侧滑菜单组件

    1.首先可以滑出菜单2.菜单滑动到一定距离完全滑出,未达到距离回滚3.菜单数量、样式随意定制4.菜单点击回调5.菜单展开时,点击 item 收回菜单(见QQ)

    Flutter笔记
  • 需要接口管理的你了解一下?

    在日常的开发模式里,前端需要服务端提供的接口实现动态数据展示和交互时,服务端完成接口开发后会提供一个接口文档给到前端按照文档规范再进行开发。这样模式下往往会出现...

    闻人的技术博客
  • rocketmq-5:生产级rocketmq集群部署

    集群形式:2m-2s-2namesrv;2个master,2个slave,2个namesrv。

    千里行走
  • Java 之 Lombok 必知必会

    在目前众多编程语言中,Java 语言的表现还是抢眼,不论是企业级服务端开发,还是 Andorid 客户端开发,都是作为开发语言的首选,甚至在大数据开发领域,Ja...

    闻人的技术博客
  • 2019最新整理JAVA面试题附答案

    本文会按技能模块划分文章段落,每个模块里的内容,从易到难依次进行排序,各模块之间不存在互相关联的关系,读者可选择文章顺序阅读或者跳跃式阅读。

    框架师
  • Javascript的函数声明和函数表达式

    先看下面这个经典问题,在一个程序里面同时用函数声明和函数表达式定义一个名为getName的函数

    前端黑板报

扫码关注云+社区

领取腾讯云代金券