对象的深入探究,将对象转换为层级对象

阅读 212

2022-03-30

 

const obj = {

      'a.b.c': 1,

      'a.d': 2,

      e: 3

    }

    function transfor (obj) {

      let newObj = {}

      for (let i in obj) {

        const keys = i.split('.')

        let key = keys.shift()

        let temp = newObj

        while (key) {

          if (!newObj[key]) {

            temp[key] = keys.length >= 1 ? {} : obj[i]

          }

          temp = temp[key]

          console.log(newObj)

          key = keys.shift()

        }

      }

      return newObj

    }

    console.log(transfor(obj))

精彩评论(0)

0 0 举报