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 相关文章推荐
对YUI扩展的Gird组件 Part-1
Mar 10 Javascript
理解Javascript_12_执行模型浅析
Oct 18 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
Sep 25 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
Apr 04 Javascript
javascript控制在光标位置插入文字适合表情的插入
Jun 09 Javascript
extjs 时间范围选择自动判断的实现代码
Jun 24 Javascript
简介JavaScript中search()方法的使用
Jun 06 Javascript
JS中对象与字符串的互相转换详解
May 20 Javascript
Angular中实现树形结构视图实例代码
May 05 Javascript
Node.JS利用PhantomJs抓取网页入门教程
May 19 Javascript
JavaScript体验异步更好的解决办法
Jan 08 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
May 28 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
PHP魔术方法的使用示例
2015/06/23 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python Socket传输文件示例
2017/01/16 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
wxPython实现画图板
2020/08/27 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
自我鉴定怎么写
2013/12/05 职场文书
顶撞领导检讨书
2014/01/29 职场文书
运动会入场词50字
2014/02/20 职场文书
培训班主持词
2014/03/28 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
Java SSH 秘钥连接mysql数据库的方法
2021/06/28 Java/Android
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
24年收藏2000多部退役军用电台
2022/02/18 无线电
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python