ES5 数组方法forEach
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相关推荐
- es4----es6数组方法
1.数组方法 数组元素的排序:sort() 语法格式:数组名.sort(); sort()方法可以没有参数使用:将数组中所有的元素都看作字符型数据来进行排序. var num=[10,5,4,0,29 ...
- 继承与ES5新增方法
1.继承 ES6之前并没有给我们提供 extends 继承.我们可以通过构造函数+原型对象模拟实现继承,被称为组合继承. 1.1.call() 调用这个函数, 并且修改函数运行时的 this 指向 f ...
- 数组方法大全ES5+ES6
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. 使用 Array 构造函数 2. 使用数组字面量表示法 数组原型方法 1. join() 2.push()和pop() ...
- ES6/02/创建对象,构造函数和原型,原型和原型链,this指向,类,ES5新增的方法,数组方法,回调函数,ES5新增的字符串方法,ES5中新增的对象方法
创建对象 1,利用new Object()创建对象 var obj1 =new Object(); 2,利用对象字面量创建对象 var obj2={}; 3,利用构造函数创建对象 function S ...
- es5的data语法_ES5与ES6数组方法总结
Array 对象属性 constructor 返回对创建此对象的数组函数的引用. length 设置或返回数组中元素的数目. prototype 使您有能力向对象添加属性和方法. 传统Array 对象 ...
- 数组方法深入扩展(遍历forEach,filter,reduce等)
注:先写入数据API,并在html中创建了5个li,接下来的数组方法都是通过这个数组来应用,并通过模拟每个方法来明白其实现的原理. <ul><li></li>< ...
- JavaScript中的数组遍历forEach()与map()方法以及兼容写法
原理: 高级浏览器支持forEach方法 语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是 ...
- map语法获取index_JavaScript中的数组遍历forEach()与map()方法以及兼容写法
原理: 高级浏览器支持forEach方法 语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是 ...
- 数组的foreach方法和jQuery中的each方法
欢迎加入前端交流群交流知识&&获取视频资料:749539640 /* * 数组的forEach方法: * 1.返回给回调的参数先是值,然后是下标 * 2.回调函数执行时内部的this指 ...
最新文章
- 分析若干没面试机会和没体现实力的简历
- 46.Express框架 GET 方法和POST 方法
- halcon算子盘点:Chapter 12:OCR(光字符识别)
- Elasticsearch系列「二」如何物理删除给定期限的历史数据?
- 深度学习分类任务常用评估指标
- Internet Explorer 无法显示网页
- maters鸿蒙系统,Flutter入门进阶之旅(十)DialogToast
- 地址转换函数(点分十进制与网络字节序的二进制)
- SQL 2008客户端ODBC配置DSN时使用网络登录ID的windows NT验证登录时 报18452错误
- Google Chrome 浏览器安装教程
- 中标麒麟系统远程桌面连接
- 让你相见恨晚的Photoshop 技巧
- 助教日志_【沈阳航空航天大学软件工程 1,2 班】前六周排行榜
- 网站让浏览器崩溃的原因有哪些
- [机房练习赛4.3]drive
- [C题目]输入整数a和n,计算a+aa+aaa+aaaa+......(共有n项)
- 区块链溯源是什么?一文带您读懂! 1
- lammps教程:均方位移MSD计算方法介绍
- 单总线CPU设计(现代时序)(HUST)
- STM32入门——基于RobotMaster——1.准备工作
热门文章
- 如何破解汽车-快速的速成课程
- win8计算机管理没有用户组,Win8右键计算机管理提示“该文件没有与之关联的程序”怎么办?...
- oracle的表几种连接比较,几种表连接方式的使用场景
- PAT(甲级)2018年冬季考试 7-1 Google Recruitment
- (C++)1011 World Cup Betting
- (C++)1029 旧键盘
- (C++)A+B 输入输出练习V 输入的第一行是一个正数N,表示后面有N行。每一行的第一个数是M,表示本行后面还有M个数。
- 软件缺陷生命周期图示及当中涉及到的缺陷的状态
- 查找手机型号云服务器,查找手机型号云服务器
- 20170507Linux七周二次课 io监控free ps 网络状态 抓包