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的脚本吗?