荆棘之鸟 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 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。
  • ¥15 GitHubssh虚拟机连接不上
  • ¥15 装完kali之后下载Google输入法 重启电脑后出现以下状况 且退不出去 桌面消失 反复重启没用