将对象的键移动到它的值中以创建对象数组
moving the key of an object into its value to create an array of objects
我有一个对象,我想从中构建一个 table,但是我需要使用键的值作为显示数据的一部分。我的数据如下所示:
{
templates: {
some_visit_1: {
template: "A long block or rich text",
editedAt: "timestamp",
editedBy: "name",
},
some_visit_2: {
template: "A different block of rich text",
editedAt: "timestamp",
editedBy: "Name",
},
},
},
我试过使用
let data = result.templates;
const templates = Object.entries(data);
但这给了我嵌套数组,其中键作为一个值,一个对象作为第二个值。我想创建一个对象数组,其中每个对象都包含初始对象内的键和所有值。
更进一步,我认为我可以映射新数组并将数据传播到一个对象中,但这只会导致错误。
const templates = Object.entries(data).map((item, idx) => {
const values = item[1];
return {
...items,
items: {
name: item[0],
editedAt: item[1].editedAt,
editedBy: item[1].editedBy,
template: item[1].template,
},
};
});
有没有一种方法可以将对象中的键和所有值组合成一个对象?
像这样:
[
{
{
name: some_visit_1,
template: "A long block or rich text",
editedAt: "timestamp",
editedBy: "name",
},
{
name: some_visit_2,
template: "A different block of rich text",
editedAt: "timestamp",
editedBy: "Name",
}
]
这是预期的吗?我使用了 Object.entries
和 map
let data = {
templates: {
some_visit_1: {
template: "A long block or rich text",
editedAt: "timestamp",
editedBy: "name",
},
some_visit_2: {
template: "A different block of rich text",
editedAt: "timestamp",
editedBy: "Name",
},
},
}
let result = Object.entries(data.templates).map(([key, value]) => {
return {
name: key,
...value,
}
});
console.log(result);
我有一个对象,我想从中构建一个 table,但是我需要使用键的值作为显示数据的一部分。我的数据如下所示:
{
templates: {
some_visit_1: {
template: "A long block or rich text",
editedAt: "timestamp",
editedBy: "name",
},
some_visit_2: {
template: "A different block of rich text",
editedAt: "timestamp",
editedBy: "Name",
},
},
},
我试过使用
let data = result.templates;
const templates = Object.entries(data);
但这给了我嵌套数组,其中键作为一个值,一个对象作为第二个值。我想创建一个对象数组,其中每个对象都包含初始对象内的键和所有值。
更进一步,我认为我可以映射新数组并将数据传播到一个对象中,但这只会导致错误。
const templates = Object.entries(data).map((item, idx) => {
const values = item[1];
return {
...items,
items: {
name: item[0],
editedAt: item[1].editedAt,
editedBy: item[1].editedBy,
template: item[1].template,
},
};
});
有没有一种方法可以将对象中的键和所有值组合成一个对象?
像这样:
[
{
{
name: some_visit_1,
template: "A long block or rich text",
editedAt: "timestamp",
editedBy: "name",
},
{
name: some_visit_2,
template: "A different block of rich text",
editedAt: "timestamp",
editedBy: "Name",
}
]
这是预期的吗?我使用了 Object.entries
和 map
let data = {
templates: {
some_visit_1: {
template: "A long block or rich text",
editedAt: "timestamp",
editedBy: "name",
},
some_visit_2: {
template: "A different block of rich text",
editedAt: "timestamp",
editedBy: "Name",
},
},
}
let result = Object.entries(data.templates).map(([key, value]) => {
return {
name: key,
...value,
}
});
console.log(result);