美文网首页
2020-06-15

2020-06-15

作者: 这个人酷酷的不需要什么昵称 | 来源:发表于2020-06-15 23:23 被阅读0次

优雅的实现对象取值和对象重组

  • 对象取值
let obj = { a: { aa: { aaa: "aaa" } }, b: { bb: "bb" }, c: { cc: "cc" } }
let str = "a.aa.aaa"

let result = str.split(".").reduce((data, i) => {
  return data[i]
}, obj)
console.log(result)
image.png
  • 对象重组
//给定一个字符串列表,组装成一个对象

var a = ["a.e.r.t", "w.e.r.y", "w.e.t.u", "t.e.r.t"]
var c = {}
a.forEach((e) => {
  e.split(".").reduce((data, i, index, arr) => {
    if (data[i]) {
      return data[i]
    } else {
      return (data[i] = {})
    }
  }, c)
})

console.log(c)
image.png

相关文章

网友评论

      本文标题:2020-06-15

      本文链接:https://www.haomeiwen.com/subject/cupkxktx.html