Javascript 如何将对象最深嵌套属性的值设置为其前面所有键的字符串?
换句话说,如何将Javascript 如何将对象最深嵌套属性的值设置为其前面所有键的字符串?,javascript,Javascript,换句话说,如何将原始转换为预期,或者如何设置键的值,这些值是空字符串,以点符号格式表示键在对象内的“路径” original = { A: { B: { C: { D: "", E: "" }, F: { G: "", H: "" } } } } expected = { A: { B: { C: { D: "A.B.C.D", E: "A.B
原始
转换为预期
,或者如何设置键的值,这些值是空字符串,以点符号格式表示键在对象内的“路径”
original = {
A: {
B: {
C: {
D: "",
E: ""
},
F: {
G: "",
H: ""
}
}
}
}
expected = {
A: {
B: {
C: {
D: "A.B.C.D",
E: "A.B.C.E
},
F: {
G: "A.B.F.G",
H: "A.B.F.H"
}
}
}
}
当然,在处理“严格类型”系统时,人们一定是偶然发现了这种问题?可以这样做:
const-original={
A:{
B:{
C:{
D:“,
E:“
},
F:{
G:“,
H:“”
}
}
}
}
常量addPath=(数据,路径=[])=>{
返回Object.keys(数据).reduce((acc,key)=>{
const currentPath=[…路径,键]
返回{
…acc,
[键]:数据类型[键]=“对象”
?添加路径(数据[键],当前路径)
:currentPath.join(“.”)
}
}, {})
}
log(addPath(original))
知道如何发布具有实际JavaScript的脚本吗?