您当前的位置: 首页 >  Java

暂无认证

  • 3浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JavaScript递归实现树形添加属性、目录、修改数据类型、recursion、toString、typeof 、for in

发布时间:2021-04-08 23:10:48 ,浏览量:3

目录
  • 1、数据
  • 2、实现
  • 3、效果
1、数据
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、效果

输出结果

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.4624s