js多维数组对每项对象修改、添加属性

//定义一个多维数组

  const arrs = [{

    id: 1, mc: "小明", childrens: [{ id: 11, mc: "小花", childrens: null }]

  },

  {

    id: 2, mc: "二明", childrens: [{ id: 12, mc: "二花", childrens: null }]

  },

  {

    id: 3, mc: "三明", childrens: [{ id: 13, mc: "三花", childrens: null }]

  }]

  //修改多维数组中的每个对象的mc和childrens属性名

  let lists = JSON.stringify(arrs);

  lists = lists.replace(/"mc"/g, '"title"');

  lists = lists.replace(/"childrens"/g, '"children"');

  const treeLists = JSON.parse(lists)

  //给多维数组中的每个对象添加属性key

  const addKey = arr => arr.map(item => ({

    ...item,

    key: item.id,//key值为当前项id

    children: item.children ? addKey(item.children) : [] // 这里要判断原数据有没有子级如果没有判断会报错

  }))

  const result = addKey(treeLists)

  console.log(result);

 输出结果展示

[{"id":1,"title":"小明","children":[{"id":11,"title":"小花","children":[],"key":11}],"key":1},{"id":2,"title":"二明","children":[{"id":12,"title":"二花","children":[],"key":12}],"key":2},{"id":3,"title":"三明","children":[{"id":13,"title":"三花","children":[],"key":13}],"key":3}]

此方法用到了正则与递归 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值