JS 中的foreach和For in比较
使用方式举例如下:
<script type="text/javascript"> var jsonranklist=[{"name":"ts","code":123456,"topscore":2000},{"xlid":"tb","code":123456,"topscore":1500}]; console.log(jsonranklist.length);//使用foreach循环 jsonranklist.forEach(function(e){ console.log(e.xlid); });//使用for in 循环 for (var cindxe in jsonranklist) {//var obj=JSON.stringify(dt); console.log(jsonranklist[cindxe].xlid); } </script>
但是IE7之前的版本并不支持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 UInt32if ({}.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++;}}; }
完整参考代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Author" CONTENT="oscar999"> </HEAD><BODY> <script> 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 UInt32if ({}.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++;}}; }var arryAll = []; arryAll.push(1); arryAll.push(2); arryAll.push(3); arryAll.push(4); arryAll.push(5);var arrySpecial = [];arryAll.forEach(function(e){if(e%2==0){arrySpecial.push(e);}else if(e%3==0){arrySpecial.push(e);} })</script> </BODY> </HTML>
参考博客地址:
http://blog.csdn.net/oscar999/article/details/8671546
转载于:https://www.cnblogs.com/xibei666/p/4513618.html
JS 中的foreach和For in比较相关推荐
- php中的foreach和js中的foreach的用法和区别
PHP中的foreach循环: 主要用于遍历数组 例如: (1)// $colors=array("red","yellow","blue" ...
- js中的forEach
chrome和firefox支持数组的forEach,但不支持对象的forEach,IE啥都不支持 jquery中的$.each(ArrayOrObject,function)既可以遍历数组又可以遍历 ...
- js中的forEach、for in 、for of之间的区别
forEach: 一般用于对数组的遍历,不用于对对象的遍历,此方法会对数组中的每一个值进行遍历,直至全部遍历完成.故在其中的return,break会失效. for in: 一般用于遍历对象,循环遍历 ...
- js中终止forEach循环的方法
正常终止for循环我们可以使用break关键字来实现,而在forEach循环中是不能使用break和continue这两个关键字的,为什么呢? 因为这两个关键字要在循环中使用,而forEach中所执行 ...
- js中的foreach用法
forEach() 方法对数组的每个元素执行一次提供的函数. var array = ['a', 'b', 'c'];array.forEach(function(element) {console. ...
- JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...
6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...
- php in循环与for循环,详谈js中标准for循环与foreach(for in)的区别
js中遍历数组的有两种方式 var array=['a'] //标准的for循环 for(var i=1;i alert(array[i]) } //foreach循环 for(var i in ar ...
- JS中map()与forEach()的用法
JS中map()与forEach()的用法 相同点: 1.都是循环遍历数组中的每一项 2.每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组) 3. ...
- Vue中foreach数组与js中遍历数组的写法
场景 Vue中使用Axios发送get或者post请求,发送请求时需要在js中 对请求参数进行遍历并处理. 接收响应时需要对响应结果进行遍历和处理. 注意区分在vue和js中foreach数组的区别. ...
最新文章
- c语言以空格分割字符串_C语言: 利用sscanf() 函数分割字符串
- 学习笔记(2)IPC机制
- Linux打过cat没有编码,linux系统 终端下 cat中文乱码/vim不乱码 或者 cat不乱码/vim中文乱码...
- sdut-3102小鑫追女神
- 最长上升子序列(LIS)算法
- Thymeleaf——使用模板动态生成JavaScript脚本文件
- ITK:具有写访问权限遍历图像的某个区域
- Java持久性API(JPA)第7讲——实体生命周期及生命周期回调方法
- 操作系统实验报告13:线程池简单实现
- SAP UI5 Globalization - date format讨论
- 人生没有理想,只有目标
- element-ui按需引入
- APP自动化测试框架----环境搭建(java)
- 苹果手机登陆不进去显示连接服务器6,苹果6为什么显示无法连接到APPStore
- PID调节三个参数的作用
- Eclipse中新建Maven项目,解决丢失src/main/java文件问题
- 第三集 怪物学院 第十六章
- 2019-08-01软件工程总结
- 剖析Spring源码:加载IOC容器
- ubuntu壁纸1080p
热门文章
- mysql c 调用存储过程返回值_Mysql:使用返回值调用存储过程
- 【ES6(2015)】新的声明方式 let、const
- 【分享-EasyRecovery】删除的文件找不回?不存在的!
- Web前端笔记-HTML加载SVG图片及简单修改
- QML工作笔记-界面登录框设置(方便其他控件居中)
- Java动态加载类(对反射的基本理解)
- Qt工作笔记-MineData相关基本操作
- 计算机等级考试java题型_计算机等级考试报考建议
- pandas用众数填充缺失值_【机器学习】scikit-learn中的数据预处理小结(归一化、缺失值填充、离散特征编码、连续值分箱)...
- oracle用户和mysql用户_oracle数据库解锁和锁定用户命令