荆棘之鸟 2022-10-28 10:35 采纳率: 70%
浏览 66
已结题

js 全路径还原成原本的对象?

如何根据路径对象obj[name/name1]=11 obj[name/name2]=22 obj[age]=33,还原成原本对象

let message={name:{name1:11,name2:22},age:33}

有没有知道的告诉一下

  • 写回答

3条回答 默认 最新

  • 游一游走一走 2022-10-28 11:11
    关注
    let obj = {}
    obj['name/name1'] = 11
    obj['name/name2'] = 22
    obj['age'] = 33
    let result = Object.keys(obj).reduce((total, item) => {
        if (item.indexOf('/') == -1) {
            total[item] = obj[item]
        } else {
            let strings = item.split('/');
            if (!total[strings[0]]) {
                total[strings[0]] = {};
            }
            total[strings[0]][strings[1]] = obj[item]
        }
        return total
    }, {});
    console.log(result)
    

    img

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

报告相同问题?

问题事件

  • 系统已结题 11月5日
  • 已采纳回答 10月28日
  • 修改了问题 10月28日
  • 赞助了问题酬金1元 10月28日
  • 展开全部

悬赏问题

  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了