我有一个具有以下结构的对象数组:
var items = [
{
attributes: [
{
type: "Size",
value: "Small"
},
{
type: "Color",
value: "Black"
}
]
},
{
attributes: [
{
type: "Size",
value: "Small"
},
{
type: "Color",
value: "White"
}
]
},
{
attributes: [
{
type: "Size",
value: "Medium"
},
{
type: "Color",
value: "Black"
}
]
},
{
attributes: [
{
type: "Size",
value: "Medium"
},
{
type: "Color",
value: "White"
}
]
}
];
我的目标是提取具有相同"type"的所有"value"属性。例如,“大小”类型具有以下值:小、中。之后,我想创建一个具有以下结构的新列表:
var results = [
{
type: "Size",
values: ["Small", "Medium"]
},
{
type: "Color",
values: ["White", "Black"]
}
];
这是我当前的代码:
var results = items.map((item, index) => {
return item.attributes.map(attribute => {
let value = [];
value.push(attribute.value);
return {
type: attribute.type,
value: attribute.value
};
});
});