JavaScript遍历n维数组

时间:2018-10-24 12:41:12

标签: javascript arrays object multidimensional-array

我对javascript不太了解,所以我需要一点帮助。

我具有以下数据数组表示形式:

[name, obj1[name, type, obj2[name, type, obj3[name, type]]], obj4[name, type]]

每个对象都具有名称和类型的属性。

名字是主要对象的名称。之后,如果一个对象内部有另一个对象,它将为该对象和潜在的其他对象的属性打开新的数组。

我该如何递归遍历并以这种方式显示此数组:

name(This can be left just as "name")
   name(of obj1)
   type(of obj1)
      name(of obj2)
      type(of obj2)
         name(of obj3)
         type(of obj3)
   name(of obj4)
   type(of obj4)

1 个答案:

答案 0 :(得分:0)

我希望,此答案中的最后一个示例将帮助您解决问题。 Looping through the tree with recursive function

var data = ['name1', 
  ['name2', 'type2', 
    ['name2.1', 'type2.1', 
      ['name2.1.1', 'type2.1.1']
    ]
  ], 
  ['name3', 'type3']
];

function eachRecursive(obj) {
  for (var k in obj) {
    if (typeof obj[k] == "object" && obj[k] !== null) {
      eachRecursive(obj[k]);
    }
    else {
      console.log(obj[k]); // here you will see in console all items from your array
      }
    }
}

eachRecursive(data);