深度优先遍历法-递归

此方法适合遍历数组、对象或数组和对象组成的数据格式,简称'复杂数据格式'

 

 1 if (Array.isArray(parmA) || typeof parmA === 'object'){
 2     function song(val) {
 3         for (var item in val) {
 4             if ((typeof val[item] === 'object') || (Array.isArray(val[item]))){
 5                 song(val[item])
 6             } else {
 7                // 这里写处理每一个子元素的逻辑
 8                 if(item === 'a') {
 9                     console.log('ok')
10                 }
11             }
12         }
13     }
14 
15     song(parmA)
16 }
17     

举个例子:

 1 var parmA = {
 2     a: 1,
 3     b: 2,
 4     c: [{
 5         a: 1
 6     }, {
 7         a: 1,
 8         b: 2
 9     }]
10 }

 

你可能感兴趣的:(深度优先遍历法-递归)