媆媆_ 2022-02-22 12:21 采纳率: 31.8%
浏览 48
已结题

如何把str = {a.b.c:1,a.b.d:2,b.a.c:2,b.a.s:9}转换为{a:{c:1,d:2},b:{a:{c:2,s:9}}

如何把str = {a.b.c:1,a.b.d:2,b.a.c:2,b.a.s:9}转换为{a:{c:1,d:2},b:{a:{c:2,s:9}}

  • 写回答

2条回答 默认 最新

  • 原莱_ 2022-02-22 14:37
    关注

    这样,你试一下

    let cc = {'a.b.c':1,'a.b.d':2,'b.a.c':2,'b.a.s':9}
    let res = {};
    let loca = {};
    Object.keys(cc).forEach((item,index)=>{
      let temp = item.split('.');
      loca = res
      temp.forEach((itemson,indexson)=>{
         if( loca[itemson]){
           loca=loca[itemson];
         }else{
           if(indexson===temp.length-1){
             loca[itemson] = cc[item]
           }else{
             loca[itemson] = {};
           }
           loca=loca[itemson];
         }
      })
          console.log(res)
    })
    

    img

    对你有用的话,请点击一下【采纳此答案】,谢谢🌹

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月22日
  • 创建了问题 2月22日