gpt4 book ai didi

javascript - 用另一个数组更新一个数组(删除和添加值)

转载 作者:行者123 更新时间:2023-11-28 09:25:59 24 4
gpt4 key购买 nike

在 javascript 中,我有两个数组,它们有聊天室中的在线用户列表。第一个具有旧值的数组必须用新值更新。

var array1 = array(1,5,50,4,12,3,60);

var array2 = array(12,1,5,4,3,60);

array1 在用户界面上,所以我不想用 array2 替换它。首先,我想从 array1 中删除不在 array2 中的值,然后在 array1 的开头添加 array2 中的新值。

我还应该提到,数组 2 的排序很重要,并且数组的数量可能不同。数组的数量可以是100,并且可以每5-10秒更新一次!

例如,您可以检查 Stackoverflow 聊天服务上的在线用户列表 https://chat.stackoverflow.com/rooms/17/javascript

这是我开发它的第一种方式,我可以做得更好吗?

用于删除旧值

for(i=0;i<array1.length;i++)
if(array2.indexOf(array1[i])==-1)
removeValue(array1[i]);

用于添加新值

for(i=0;i<array2.length;i++)
if(array1.indexOf(array2[i])==-1)
addValue(array2[i]);

您对更新第一个数组有什么想法吗?

最佳答案

您的两个函数都存在语法错误。而不是 array2.indexOf(array1[i]==-1) 它应该是 array2.indexOf(array1[i])==-1

要更新阵列,您可以使用 unshift (前置)和splice数组的方法。但是,当您从数组中删除一个项目时,它的长度会发生变化,这会影响您的循环条件 - 最好向后迭代。

关于javascript - 用另一个数组更新一个数组(删除和添加值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14384606/

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