ITPub博客

首页 > IT职业 > IT职场 > js的数组或者对象的递归遍历问题

js的数组或者对象的递归遍历问题

IT职场 作者:ofan 时间:2021-09-09 09:06:17 0 删除 编辑

例如给定一个数组,他里面可能嵌套数组,嵌套的数组里面可能还有数组。
这种想得到所有元素组成一个数组,可以考虑用 递归遍历数组

递归遍历数组

例如[2,[6,7,12,34,3],[5,23,[1]]]

var arrs = [2 , [6,7,12,34,3] , [ 5,23,[1],9] ] ;
var arr  = [];
function recursive(arrs) {
  for(var i = 0; i 

递归遍历对象

var obj = {
           a:{
               name : "maoguotao",
               age :  18,
               sex  : 'M',   
               },
           b:{
               name : "maoshuqin",
               age :  18,
               sex  : 'M',     
               },
           c:{
               name : "MGT360124",
               age :  18,
               sex  : 'M',     
               title : {
                       job:"班长"
                       } 
               }
};
var arr = [];
function   f( obj ) {
         for( var i  in  obj ) {
             if  ( typeof  obj[i] === "object"  ) {
                f ( obj[i] );
               }else{
                arr.push( obj[i] );
               }
        }
 }
 f( obj );
console.log(arr);

遍历对象的属性用for-in,但是要用hasOwnProperty判断

var obj = {
name:"maoguotao",
age:18,
sex:'M'
}
for ( var i in obj ) {
  if( obj.hasOwnProperty ( i )  ){
      console.log( i + ":" + obj[i] );
        }
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4571/viewspace-2799461/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-01

  • 博文量
    159
  • 访问量
    1163