javascript - 如何将值从父级复制到数组中的子级
问题描述
我有一个数组,其名称如下:
[
{
name: "John",
lastName: "Doe",
children: [
{
name: "Max",
lastName: ""
},
{
name: "Jay",
lastName: ""
},
]
},
{
...
}
]
所以我有一个用户数组——其中一些有孩子。顶层的用户有一个lastName
属性。我想将此值复制给他们的孩子。
这可以通过重新映射来实现吗?
我正在努力研究如何使用“父母”的值正确更新数据。
解决方案
你可以做嵌套映射来创建一个新的父数组:
arr.map(parent => ({
...parent, // (1)
children: item.children?.map(child => ({
...child, // (2)
lastName: parent.lastName, // (3)
})
);
(1)复制每个父级的所有道具,但分配一个新的子级数组,这是子级map
方法的结果。
(2)将每个孩子的所有道具复制到新的孩子数组中
(3)分配lastName
父级