【发布时间】:2025-12-02 12:20:04
【问题描述】:
我有一个对象,当我获取 api 时,它的深度可能会增加。
假设它是一个有孩子的父母,它最初看起来像这样。
{
name: 'Mary'
children: [
{name: 'Jude'},
{name: 'Kathy'},
{name: 'Joe'}
]
}
现在我想获取 API 并获取 Kathy 的孩子
响应是凯西和她的孩子的对象
假设:
{
name: 'Kathy',
children: [
{name: 'April'},
{name: 'Suzanne'},
{name: 'Paul'}
]
}
所以我想最终拥有
{
name: 'Mary'
children: [
{
name: 'Jude'
},
{
name: 'Kathy',
children: [
{name: 'April'},
{name: 'Suzanne'},
{name: 'Paul'}
]
},
{
name: 'Joe'
}
]
}
也许然后得到保罗或乔的
如果我事先知道深度,我可以做第一个例子
newObj = { ...oldObj, children: { ...oldObj.children, ...apiResponse }}
对吗?
但是当深度是可变的(不是未知的而是可变的)时呢?
我该怎么做?
谢谢
【问题讨论】:
-
如果您知道
Kathy的index,那么只需object.children[index] = yourNewObject -
@r3wt 我知道Kathy的索引,但是Kathy不一定在第一层。我可以让凯西深埋几个层次,比如 object.children[index].children[index1].children[index2]。所以即使我知道index和index1和index2以及有多少层深,我也不知道怎么用代码写出来
-
然后显示您的完整代码
-
@r3wt 我刚刚用更好的解释编辑了我的评论。我没有完整的代码,我正在尝试制作一个对象
-
你没有提供足够的细节来回答你的问题,因此我投票结束。
标签: javascript arrays object spread-syntax