gpt4 book ai didi

javascript - 如何防止更新嵌套对象中的数组将其转换为对象

转载 作者:行者123 更新时间:2023-12-03 02:36:19 25 4
gpt4 key购买 nike

我有一个状态,它是一个嵌套对象,其中包含某些级别的数组,并且我想更新一个值,如下所示:

a.b.c[0].d = "新值"

当尝试在 Redux 更新期间进行深层复制时,它会将我的数组 c 转换为一个对象,因此我的应用程序会崩溃,因为我的数组操作不再存在于复制的对象上。

a: {
...state.a,
b:{
...state.a.b,
c: {
...state.a.b.c, // This converts c from array to object
[0]:{
...state.a.b.c[0],
d: "new value"
}
}
}

}

如何深度复制 c 而不将其转换为对象?

最佳答案

您的c更改为Object,因为您是这样写的)

a: {
...state.a,
b:{
...state.a.b,
c: [
{
...state.a.b.c[0],
d: "new value"
},
...state.a.b.c.slice(1)
]
}

}

关于javascript - 如何防止更新嵌套对象中的数组将其转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48522778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com