如何克隆具有不同特定值的对象
How to clone object with different specific values
我想按评估单元 ID 拆分对象。
我有这个
{
"name": "test",
"description": "test",
"asessment_units[]": ["2", "4", "5","8"]
}
从这个对象我想要四个对象(因为我在评估单元中有 4 个元素)。
第 1 个对象
{
"name": "test",
"description": "test",
"asessment_units[]": ["2"]
}
第二个对象
{
"name": "test",
"description": "test",
"asessment_units[]": ["4"]
}
第三个对象
{
"name": "test",
"description": "test",
"asessment_units[]": ["5"]
}
第 4 个对象
{
"name": "test",
"description": "test",
"asessment_units[]": ["8"]
}
也许你可以使用 Array.prototype.<b>map</b>
and Object.<b>assign</b>
:
const obj = {
name: "test",
description: "test",
"asessment_units[]": ["2", "4", "5", "8"],
};
const splitObjs = obj["asessment_units[]"].map(unit =>
Object.assign({}, obj, {
"asessment_units[]": [unit],
})
);
console.log(splitObjs);
您可以在asessment_units[]
上使用Array.prototype.map()
来实现转换。散布对象的 name
和 description
键,因为它们很常见,并在 map
.
回调内的数组中插入相应的值
const obj = {
"name": "test",
"description": "test",
"asessment_units[]": ["2", "4", "5","8"]
}
const res = obj['asessment_units[]'].map((val,index)=>{
return {...obj, ['asessment_units[]'] : [val]}
})
我想按评估单元 ID 拆分对象。
我有这个
{
"name": "test",
"description": "test",
"asessment_units[]": ["2", "4", "5","8"]
}
从这个对象我想要四个对象(因为我在评估单元中有 4 个元素)。
第 1 个对象
{
"name": "test",
"description": "test",
"asessment_units[]": ["2"]
}
第二个对象
{
"name": "test",
"description": "test",
"asessment_units[]": ["4"]
}
第三个对象
{
"name": "test",
"description": "test",
"asessment_units[]": ["5"]
}
第 4 个对象
{
"name": "test",
"description": "test",
"asessment_units[]": ["8"]
}
也许你可以使用 Array.prototype.<b>map</b>
and Object.<b>assign</b>
:
const obj = {
name: "test",
description: "test",
"asessment_units[]": ["2", "4", "5", "8"],
};
const splitObjs = obj["asessment_units[]"].map(unit =>
Object.assign({}, obj, {
"asessment_units[]": [unit],
})
);
console.log(splitObjs);
您可以在asessment_units[]
上使用Array.prototype.map()
来实现转换。散布对象的 name
和 description
键,因为它们很常见,并在 map
.
const obj = {
"name": "test",
"description": "test",
"asessment_units[]": ["2", "4", "5","8"]
}
const res = obj['asessment_units[]'].map((val,index)=>{
return {...obj, ['asessment_units[]'] : [val]}
})