js遍历对象的层级(深度)以父级标题
let data = [ { "score": 10, "items": [ { "tit": "", "score": 10, "items": [ { "tit": "知识", "score": 9, "items": [ { "tit": "三角型", "score": 1, "items": [] }, { "tit": "平行四边形", "score": 1, "items": [] } ] }, { "tit": "技能", "score": 1, "items": [ { "tit": "逻辑", "score": 1 }, { "tit": "运算能力", "score": 1 } ] }, { "tit": "能力", "score": 0, "items": [] } ] } ] } ];
(function ps(data, depth, ptit) { for (let v of data) { if (v.tit || '') { console.log(v.tit, depth, ptit) } if (v.hasOwnProperty('items') && v.items.length) { ps(v.items, depth + 1, v.tit); } } })(data, 0, '');
result:
知识 2
三角型 3 知识
平行四边形 3 知识
技能 2
逻辑 3 技能
运算能力 3 技能
能力 2