ES6已经到了非学不可的地步了,对于ES5都不太熟的我决定是时候学习ES5了。

1.  js 数组循环遍历。

数组循环变量,最先想到的就是 for(var i=0;i<count;i++)这样的方式了。

除此之外,也可以使用较简便的forEach 方式

2.  forEach 函数。

使用如下:

function logArrayElements(element, index, array) {console.log('a[' + index + '] = ' + element);
}// Notice that index 2 is skipped since there is no item at
// that position in the array.
[2, 5, , 9].forEach(logArrayElements);
// logs:
// a[0] = 2
// a[1] = 5
// a[3] = 9

3.  让IE兼容forEach方法

  (1)既然IE的Array 没哟forEach方法, 我们就给它手动添加这个原型方法。

//Array.forEach implementation for IE support..
//https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach
if (!Array.prototype.forEach) {  Array.prototype.forEach = function(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; // Hack to convert O.length to a UInt32  if ({}.toString.call(callback) != "[object Function]") {  throw new TypeError(callback + " is not a function");  }  if (thisArg) {  T = thisArg;  }  k = 0;  while (k < len) {  var kValue;  if (k in O) {  kValue = O[k];  callback.call(T, kValue, k, O);  }  k++;  }  };
}  

详细介绍可以参照:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach

(2)类似underscore的库

underscore的用法

_.each([1, 2, 3], function(e){alert(e);
});
=> alerts each number in turn...
_.each({one: 1, two: 2, three: 3}, function(e){alert(e)
});
=> alerts each number value in turn...

4. 如何跳出循环?

Js 此种状况的forEach 不能使用continue, break;  可以使用如下两种方式:
1. if 语句控制
2. return . (return true, false)
return --> 类似continue

arryAll.forEach(function(e){  if(e%2==0)  {  arrySpecial.push(e);  return;  }  if(e%3==0)  {      arrySpecial.push(e);  return;  }
})  

转载于:https://www.cnblogs.com/leejersey/p/5457687.html

ES5 数组方法forEach相关推荐

  1. es4----es6数组方法

    1.数组方法 数组元素的排序:sort() 语法格式:数组名.sort(); sort()方法可以没有参数使用:将数组中所有的元素都看作字符型数据来进行排序. var num=[10,5,4,0,29 ...

  2. 继承与ES5新增方法

    1.继承 ES6之前并没有给我们提供 extends 继承.我们可以通过构造函数+原型对象模拟实现继承,被称为组合继承. 1.1.call() 调用这个函数, 并且修改函数运行时的 this 指向 f ...

  3. 数组方法大全ES5+ES6

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. 使用 Array 构造函数 2. 使用数组字面量表示法 数组原型方法 1. join() 2.push()和pop() ...

  4. ES6/02/创建对象,构造函数和原型,原型和原型链,this指向,类,ES5新增的方法,数组方法,回调函数,ES5新增的字符串方法,ES5中新增的对象方法

    创建对象 1,利用new Object()创建对象 var obj1 =new Object(); 2,利用对象字面量创建对象 var obj2={}; 3,利用构造函数创建对象 function S ...

  5. es5的data语法_ES5与ES6数组方法总结

    Array 对象属性 constructor 返回对创建此对象的数组函数的引用. length 设置或返回数组中元素的数目. prototype 使您有能力向对象添加属性和方法. 传统Array 对象 ...

  6. 数组方法深入扩展(遍历forEach,filter,reduce等)

    注:先写入数据API,并在html中创建了5个li,接下来的数组方法都是通过这个数组来应用,并通过模拟每个方法来明白其实现的原理. <ul><li></li>< ...

  7. JavaScript中的数组遍历forEach()与map()方法以及兼容写法

    原理: 高级浏览器支持forEach方法 语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是 ...

  8. map语法获取index_JavaScript中的数组遍历forEach()与map()方法以及兼容写法

    原理: 高级浏览器支持forEach方法 语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是 ...

  9. 数组的foreach方法和jQuery中的each方法

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 /* * 数组的forEach方法: * 1.返回给回调的参数先是值,然后是下标 * 2.回调函数执行时内部的this指 ...

最新文章

  1. 分析若干没面试机会和没体现实力的简历
  2. 46.Express框架 GET 方法和POST 方法
  3. halcon算子盘点:Chapter 12:OCR(光字符识别)
  4. Elasticsearch系列「二」如何物理删除给定期限的历史数据?
  5. 深度学习分类任务常用评估指标
  6. Internet Explorer 无法显示网页
  7. maters鸿蒙系统,Flutter入门进阶之旅(十)DialogToast
  8. 地址转换函数(点分十进制与网络字节序的二进制)
  9. SQL 2008客户端ODBC配置DSN时使用网络登录ID的windows NT验证登录时 报18452错误
  10. Google Chrome 浏览器安装教程
  11. 中标麒麟系统远程桌面连接
  12. 让你相见恨晚的Photoshop 技巧
  13. 助教日志_【沈阳航空航天大学软件工程 1,2 班】前六周排行榜
  14. 网站让浏览器崩溃的原因有哪些
  15. [机房练习赛4.3]drive
  16. [C题目]输入整数a和n,计算a+aa+aaa+aaaa+......(共有n项)
  17. 区块链溯源是什么?一文带您读懂! 1
  18. lammps教程:均方位移MSD计算方法介绍
  19. 单总线CPU设计(现代时序)(HUST)
  20. STM32入门——基于RobotMaster——1.准备工作

热门文章

  1. 如何破解汽车-快速的速成课程
  2. win8计算机管理没有用户组,Win8右键计算机管理提示“该文件没有与之关联的程序”怎么办?...
  3. oracle的表几种连接比较,几种表连接方式的使用场景
  4. PAT(甲级)2018年冬季考试 7-1 Google Recruitment
  5. (C++)1011 World Cup Betting
  6. (C++)1029 旧键盘
  7. (C++)A+B 输入输出练习V 输入的第一行是一个正数N,表示后面有N行。每一行的第一个数是M,表示本行后面还有M个数。
  8. 软件缺陷生命周期图示及当中涉及到的缺陷的状态
  9. 查找手机型号云服务器,查找手机型号云服务器
  10. 20170507Linux七周二次课 io监控free ps 网络状态 抓包