JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解


Posted in Javascript onJune 14, 2016

废话不多说了,直奔主题,你,具体代码如下所示:

<script>
 //----------------for用来遍历数组对象--
 var i,myArr = [1,2,3];
 for (var i = 0; i < myArr.length; i++) {
  console.log(i+":"+myArr[i]);
 };
 //---------for-in 用来遍历非数组对象
 var man ={hands:2,legs:2,heads:1};
 //为所有的对象添加clone方法,即给内置原型(object,Array,function)增加原型属性,该方法很强大,也很危险
 if(typeof Object.prototype.clone ==="undefined"){
  Object.prototype.clone = function(){}; 
 }
 //
 for(var i in man){
  if (man.hasOwnProperty(i)) { //filter,只输出man的私有属性
   console.log(i,":",man[i]);
  };
 }
 //输出结果为print hands:2,legs:2,heads:1
 for(var i in man) {//不使用过滤
  console.log(i,":",man[i]);
 } 
 //输出结果为
 //hands : 2 index.html:20
 //legs : 2 index.html:20
 //heads : 1 index.html:20
 //clone : function (){} 
 for(var i in man) {
  if(Object.prototype.hasOwnProperty.call(man,i)) { //过滤
   console.log(i,":",man[i]);
  }
 } //输出结果为print hands:2,legs:2,heads:1 </script>

接下来给大家介绍js 递归遍历对象、数组、属性

在前端工作时,有时我们需要遍历一些未知类型的对象。代码如下:

//js遍历对象
function TraversalObject(obj)
{
    for (var a in obj) {
        if (typeof (obj[a]) == "object") {
            TraversalObject(obj[a]); //递归遍历
        }
        else {
            alert(a + "=" + obj[a]);//值就显示
        }
    }
}

//遍历对象中所有Ur的值
function TraversalObject(obj)
{
    for (var a in obj) {

        if(a=="Url")    alert(obj[a]);/ /显示URL的值
        if (typeof (obj[a]) == "object") {
            TraversalObject(obj[a]); //递归遍历
        }
    }
}

这种遍历方法在对象不规则但需要获取相同属性时起到非常好的作用。

Javascript 相关文章推荐
网站页面自动跳转实现方法PHP、JSP(上)
Aug 01 Javascript
基于Jquery的简单图片切换效果
Jan 06 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
Dec 27 Javascript
js实现网页抽奖实例
Aug 05 Javascript
JavaScript中split与join函数的进阶使用技巧
May 03 Javascript
微信QQ的二维码登录原理js代码解析
Jun 23 Javascript
详解jQuery事件
Jan 13 Javascript
js canvas实现擦除效果示例代码
Apr 26 Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 Javascript
JS删除数组里的某个元素方法
Feb 03 Javascript
从源码里了解vue中的nextTick的使用
Nov 22 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
Sep 03 Javascript
JS递归遍历对象获得Value值方法技巧
Jun 14 #Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
Jun 14 #Javascript
JavaScript函数中关于valueOf和toString的理解
Jun 14 #Javascript
Jquery基础之事件操作详解
Jun 14 #Javascript
好好了解一下Cookie(强烈推荐)
Jun 14 #Javascript
巧方法 JavaScript获取超链接的绝对URL地址
Jun 14 #Javascript
使用js获取地址栏参数的方法推荐(超级简单)
Jun 14 #Javascript
You might like
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
使用axios请求时,发送formData请求的示例
2019/10/29 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
Python Subprocess模块原理及实例
2019/08/26 Python
pymysql模块的操作实例
2019/12/17 Python
Django操作session 的方法
2020/03/09 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
临床医学专业个人的自我评价
2013/09/27 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
工作收入证明模板
2015/06/12 职场文书
2015年高中语文教学总结
2015/08/18 职场文书