如果我有这样一个数组:
const[arr,setArr] = React.useState([
{label:"dummy01",id:2},
{label:"dummy02",id:5},
])
无论如何都要用这样数组更新arr
:
const newArray = [{label:'dummy Altered01',id:2},{label:'different',id:10},{label:'different 02',id:55}}
我期望得到一个这样的数组
[
{label:"dummy Altered01",id:2},
{label:"dummy02",id:5},
{label:'different',id:10},
{label:'different 02',id:55}
]
如您所见,更新了ID为2
的对象,并将其他新对象添加到数组中,而不擦除先前的dummy02
。
我不知道如何比较两个不同数组中的id
2条答案
按热度按时间ccrfmcuu1#
让我们考虑一下
新数组为
现在对新数组执行迭代
3zwjbxry2#
我知道这不是最好的答案,所以这是我的答案
首先将
newArray
Map到一个ID列表中,然后将newArray
与过滤后的原始数组进行连接(也就是说,现在的数组中没有任何项的ID与过滤后的数组相同)最后,通过
setArr(newArr)
更新状态希望这能回答你的问题