gpt4 book ai didi

javascript - 使用 asycronus 数据修改数组

转载 作者:行者123 更新时间:2023-12-03 11:37:18 24 4
gpt4 key购买 nike

我有一个非常好奇的问题,我确信世界上有人已经解决了。不过,让我们保持简单。好的,我们开始吧。

所以我有一个简单的对象数组。现在假设有 5 个对象。

[{id: 1, data: 'stuff'}, {id: 2, data: 'stuff'}, {id: 3, data: 'stuff'}, {id: 4, data: 'stuff'}, {id: 5, data: 'stuff'}]

然后我做的是发出 3 个 ajax 请求,显然,这些请求都在不同的时间返回。我想做的是根据 id 更新这个数组。例如,我发送 3 个 ajax 请求并接收对象 1、2 和 4 的新数据。我需要更新数组中相应对象的数据属性。我正在使用 Array.splice 进行更新。我发现,有时由于数据进入的时间不同,内容无法正确更新。我认为这是因为 splice 所做的实际上是从数组中删除对象,然后重新插入新数组。似乎在某些情况下,当 splice 方法正在删除一个对象时,然后另一个响应进来并尝试删除另一个对象,但是,该对象不在正确的索引中,因为第一个对象已被删除并且尚未删除还没有被插入。所以更新已关闭。

最佳答案

您根本没有理由需要更改数组,您只是尝试更新数组中的对象。此外,索引并不重要,因为您使用 id 属性来唯一标识每个对象,而不是数组中的索引。

您应该使用最简单的方式循环遍历数组,找到具有相应 id 的对象并更新它。

关于javascript - 使用 asycronus 数据修改数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26432865/

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