目录
1、数据
- 1、数据
- 2、实现
- 3、效果
let treeData = [{ id: 1, aname: '邓稼先', value: '核物理学家', age: 1924, children: [{ id: 11, aname: '袁隆平', value: '杂交水稻育种专家', age: 1930, children: [] }] }, { id: 2, aname: '钱学森', value: '空气动力学家', age: 1991, children: [{ id: 22, aname: '李四光', value: '地质学家', age: 1889, children: [{ id: 222, aname: '于敏', value: '核物理学家', age: 1926, children: [] }] }] }, { id: 3, aname: '华罗庚', value: '数学家', age: 1910, children: [{ id: 33, aname: '钱三强', value: '核物理学家', age: 1913, children: [] }] }];2、实现
function treeRecursion(data) { for (let key in data) { // 因为for in遍历的是对象 // 所以只需要让key等于id对数据修改即可 // 否则有多少个属性就要修改多少次 // 浪费性能且报错 // 一个已是Sring类型的数据再使用toString会报错 if (key === "id") { // 把数字类型转为字符串 data.age = data.age.toString(); // 添加新属性 data['scientist'] = data['aname'] + '是' + data['value'] + '。'; data['introduce'] = `${data['aname']}出生于 ${data[key]} 年。`; }; if (typeof data[key] === "object") treeRecursion(data[key]); }; return data; }; console.log(treeRecursion(treeData)); // 输出结果3、效果