2020-06-15
2020-06-15 本文已影响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