JS 多层级树状结构查找某节点并赋值

求赐教!
修改深圳市的天河区为龙岗区,假设天河区在obj的节点深度[0,0,1]
以下修改任意深度的函数该怎么写好呢?

function editText(arr, str) {
    // 大神请亮剑
    
    
}
// 目的:查找并修改某节点值
// obj.items[0].items[0].item[1].title = "龙岗区"
editText([0,0,1], "龙岗区")
var obj = {
    "title": "中国",
    "items": [
      {
        "title": "广东省",
        "items": [
          {
            "title": "深圳市",
            "items": [
              {
                "title": "罗湖区",
                "items": []
              },
              {
                "title": "天河区",
                "items": []
              }
            ]
          },
          {
            "title": "广州市",
            "items": [
              {
                "title": "白云区",
                "items": []
              }
            ]
          }
        ]
      }
    ]
  }
}
阅读 3.2k
1 个回答
function editText(arr, str) {
    var node = arr.reduce((res, i) => res.items[i], obj)
    node.title = str;
    return node;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题