This website requires JavaScript.
原创

JS之json多级创建并赋值 json={} json.a.b.c.d = 123

2020.04.29 16:37 

0 人喜欢
1218 次阅读
0 条评论

封装个方法利用eval字符串运行直接开撸...

var obj = {}

function change(json, ary, val) {
    ary.forEach((e, i) => {
        const objStr = `json.${ary.slice(0,i+1).join('.')}`
        const isExist = eval(objStr)
        if (isExist === undefined) eval(`${objStr} = {}`)
        if (i === ary.length - 1) eval(`${objStr} = ${typeof val === 'string'?`'${val}'`:val}`)
    })
}

change(obj, ['a', 'b', 'c', 'd'], '赋上了新的值')
  • 😃
  • 😂
  • 😅
  • 😉
  • 😌
  • 😔
  • 😓
  • 😘
  • 😡
  • 😭
  • 😱
  • 😳
  • 😵
  • 🌚
  • 👍
  • 👎
  • 💪
  • 🌹
  • 💊
  • 🇨🇳
  • 🇺🇸