需要从对象中复制2个关键帧,并将其放入父对象中



我正在尝试操作一个对象数组。你可以在下面看到这是一棵大树。

我想在products数组的零索引处获得lald的键值,并将它们放在c旁边(在dop数组中(。

请在评论中找到我的代码笔链接不确定为什么我不能在这里分享代码笔链接

const arr = [
{
a: 1,
dop: [
{
c: 3,
//la: 11,
//ld: 33
products: [
{ ld: 11, la: 33 }, // <--- zero index
{ ld: 233, la: 44 } // <--
]
},
{ d: 4, e: 4 }
]
},
{
a: 1,
dop: [
{
c: 3,
//la: 11,
//ld: 33
products: [
{ ld: 11, la: 33 },
{ ld: 233, la: 44 }
]
},
{ d: 4, e: 4 }
]
}
];

移动还是复制?

在这里我复制

const arr = [{ a: 1, dop: [{ c: 3, products: [{ ld: 11, la: 33 }, { ld: 233, la: 44 } ] }, { d: 4, e: 4 } ] }, { a: 1, dop: [{ c: 3, products: [{ ld: 11, la: 33 }, { ld: 233, la: 44 } ] }, { d: 4, e: 4 } ] } ];
arr.forEach(item => Object.assign(item.dop[0],item.dop[0].products[0]))
console.log(arr)

使用map并销毁

const process = (data) =>
data.map(({ dop, ...rest }) => {
return {
...rest,
dop: dop.map(({ products, ...dopRest }) => {
const [{ ld, la }] = products ?? [{}];
return {
...dopRest,
ld,
la,
products,
};
}),
};
});
const arr = [
{
a: 1,
dop: [
{
c: 3,
//la: 11,
//ld: 33
products: [
{ ld: 11111, la: 11111 }, // <--- zero index
{ ld: 233, la: 44 },
{ ld: 233, la: 44 },
{ ld: 233, la: 44 },
],
},
{ d: 4, e: 4 },
],
},
{
a: 2,
dop: [
{
c: 3,
//la: 11,
//ld: 33
products: [
{ ld: 222222, la: 222222 }, // <--- zero index
{ ld: 233, la: 44 }, // <--
],
},
{ d: 4, e: 4 },
],
},
{
a: 2,
dop: [
{
c: 3,
//la: 11,
//ld: 33
products: [
{ ld: 333333, la: 3333333 }, // <--- zero index
{ ld: 233, la: 44 }, // <--
],
},
{ d: 4, e: 4 },
],
},
];
console.log(process(arr));

最新更新