1 const json = { 2 a: { b: { c:1 }}, 3 d: [1,2], 4 }; 5 6 const dfs = (n, path) => { 7 console.log(n, path); 8 Object.keys(n).forEach(k => { 9 dfs(n[k], path.concat(k)); 10 }) //Object,keys会返回一个表示给定对象的所有可枚举属性的字符串数组。 11 } 12 13 dfs(json, []);
输出结果
{ a: { b: { c: 1 } }, d: [ 1, 2 ] } [] { b: { c: 1 } } [ ‘a‘ ] { c: 1 } [ ‘a‘, ‘b‘ ] 1 [ ‘a‘, ‘b‘, ‘c‘ ] [ 1, 2 ] [ ‘d‘ ] 1 [ ‘d‘, ‘0‘ ] 2 [ ‘d‘, ‘1‘ ]