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 相关文章推荐
Extjs在exlipse中设置自动提示的方法
Apr 07 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 Javascript
大型JavaScript应用程序架构设计模式
Jun 29 Javascript
Bootstrap轮播图的使用和理解4
Dec 14 Javascript
jQuery实现立体式数字动态增加(animate方法)
Dec 21 Javascript
JavaScript实现动态增删表格的方法
Mar 09 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 Javascript
JS逻辑运算符短路操作实例分析
Jul 09 Javascript
一文读懂ES7中的javascript修饰器
May 06 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 Javascript
javascript实现导航栏分页效果
Jun 27 Javascript
react的hooks的用法详解
Oct 12 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验证是否是md5编码的简单代码
2014/04/01 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
PHP、Python和Javascript的装饰器模式对比
2015/02/03 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
闭幕式主持词
2014/04/02 职场文书
预备党员考察意见范文
2015/06/01 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript