使用方式举例如下:

<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比较相关推荐

  1. php中的foreach和js中的foreach的用法和区别

    PHP中的foreach循环: 主要用于遍历数组 例如: (1)// $colors=array("red","yellow","blue" ...

  2. js中的forEach

    chrome和firefox支持数组的forEach,但不支持对象的forEach,IE啥都不支持 jquery中的$.each(ArrayOrObject,function)既可以遍历数组又可以遍历 ...

  3. js中的forEach、for in 、for of之间的区别

    forEach: 一般用于对数组的遍历,不用于对对象的遍历,此方法会对数组中的每一个值进行遍历,直至全部遍历完成.故在其中的return,break会失效. for in: 一般用于遍历对象,循环遍历 ...

  4. js中终止forEach循环的方法

    正常终止for循环我们可以使用break关键字来实现,而在forEach循环中是不能使用break和continue这两个关键字的,为什么呢? 因为这两个关键字要在循环中使用,而forEach中所执行 ...

  5. js中的foreach用法

    forEach() 方法对数组的每个元素执行一次提供的函数. var array = ['a', 'b', 'c'];array.forEach(function(element) {console. ...

  6. JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...

    6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...

  7. 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 ...

  8. JS中map()与forEach()的用法

    JS中map()与forEach()的用法 相同点: 1.都是循环遍历数组中的每一项 2.每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组) 3. ...

  9. Vue中foreach数组与js中遍历数组的写法

    场景 Vue中使用Axios发送get或者post请求,发送请求时需要在js中 对请求参数进行遍历并处理. 接收响应时需要对响应结果进行遍历和处理. 注意区分在vue和js中foreach数组的区别. ...

最新文章

  1. c语言以空格分割字符串_C语言: 利用sscanf() 函数分割字符串
  2. 学习笔记(2)IPC机制
  3. Linux打过cat没有编码,linux系统 终端下 cat中文乱码/vim不乱码 或者 cat不乱码/vim中文乱码...
  4. sdut-3102小鑫追女神
  5. 最长上升子序列(LIS)算法
  6. Thymeleaf——使用模板动态生成JavaScript脚本文件
  7. ITK:具有写访问权限遍历图像的某个区域
  8. Java持久性API(JPA)第7讲——实体生命周期及生命周期回调方法
  9. 操作系统实验报告13:线程池简单实现
  10. SAP UI5 Globalization - date format讨论
  11. 人生没有理想,只有目标
  12. element-ui按需引入
  13. APP自动化测试框架----环境搭建(java)
  14. 苹果手机登陆不进去显示连接服务器6,苹果6为什么显示无法连接到APPStore
  15. PID调节三个参数的作用
  16. Eclipse中新建Maven项目,解决丢失src/main/java文件问题
  17. 第三集 怪物学院 第十六章
  18. 2019-08-01软件工程总结
  19. 剖析Spring源码:加载IOC容器
  20. ubuntu壁纸1080p

热门文章

  1. mysql c 调用存储过程返回值_Mysql:使用返回值调用存储过程
  2. 【ES6(2015)】新的声明方式 let、const
  3. 【分享-EasyRecovery】删除的文件找不回?不存在的!
  4. Web前端笔记-HTML加载SVG图片及简单修改
  5. QML工作笔记-界面登录框设置(方便其他控件居中)
  6. Java动态加载类(对反射的基本理解)
  7. Qt工作笔记-MineData相关基本操作
  8. 计算机等级考试java题型_计算机等级考试报考建议
  9. pandas用众数填充缺失值_【机器学习】scikit-learn中的数据预处理小结(归一化、缺失值填充、离散特征编码、连续值分箱)...
  10. oracle用户和mysql用户_oracle数据库解锁和锁定用户命令