第一个对象是一个地图(只有1个元素才能使它变得简单):
let dataMap = {
Feed: "data",
};
我需要将这些键值分配给分隔的路径:
Object.keys(dataMap).forEach((value) => {
struct[value] = Object.assign({}, struct[value], {
"State": obj.Digital[dataMap[value]].State,
});
});
console.log(struct);
现在结果如下所示:
struct: {
Feed: {
State: "xy"
}
}
我想要做的是将Feed键更改为Feed.next。 所以它看起来像:
struct: {
Feed: {
next: {
State: "xy"
}
}
}
请注意,struct.Feed从一开始就存在,因此不会使用上面的代码创建。 我的问题是我应该如何编写dataMap对象来实现上面的结构?
是不是(它不起作用):
let dataMap = {
Feed[next]: "data",
};
谢谢,
答案 0 :(得分:1)
这样的事情:
var struct = {Feed:{ State: "xy"}};
添加“下一个”属性:
struct.Feed.next = {};
在struct.Feed.next中创建State的副本:
struct.Feed.next = JSON.parse(JSON.stringify(struct.Feed));
删除字段:
delete struct.Feed.State
delete struct.Feed.next.next
对象现在是:
struct {Feed: next{State: "xy"}}