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 相关文章推荐
this[] 指的是什么内容 讨论
Mar 24 Javascript
JavaScript小技巧 2.5 则
Sep 12 Javascript
Java 正则表达式学习总结和一些小例子
Sep 13 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
Apr 25 Javascript
javascript结合Canvas 实现简易的圆形时钟
Mar 11 Javascript
JQuery限制复选框checkbox可选中个数的方法
Apr 20 Javascript
jQuery mobile 移动web(6)
Dec 20 Javascript
Bootstrap基本组件学习笔记之分页(12)
Dec 08 Javascript
利用vue实现模态框组件
Dec 19 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
Aug 14 Javascript
vue 设置路由的登录权限的方法
Jul 03 Javascript
小程序云开发教程如何使用云函数实现点赞功能
May 18 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正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
跟老齐学Python之编写类之二方法
2014/10/11 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
业务助理岗位职责
2013/11/18 职场文书
社区低保工作总结2015
2015/07/23 职场文书
学校隐患排查制度
2015/08/05 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技