gpt4 book ai didi

javascript - JS : Comparing Arrays and adding new items or removing items no longer in array

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

当我查询数据库中的项目时,我生成一个数组,比如一个列表

 ArrayOne =  [Apple, Banana, Orange, Banana] 
//yes, an item can be there twice or more

然后我将其复制到 ArrayOne_Copy = ArrayOne

好的,然后间隔 5 分钟后,我再次检查数据库并生成并替换数组 ArrayOne 说现在就像

 ArrayOne =  [Apple, Peach, Banana, Pineapple, Banana, Melon] 

此时我想将ArrayOne_Copy与新生成的ArrayOne进行比较,并从新列表重建列表,但不清除列表并生成新的输出,但我只想添加新项目或删除列表中不再存在的项目

如果我可以“说出”代码,我会告诉脚本:

Don't touch `Apple` because has not changed
Push 'Peach" between `Apple` and `Banana`
Push `Pineapple` between `Banana` and `Banana`
Remove `Orange`
Add `Melon`

所以。我有点迷失了,也许解决方案很简单。您能建议最佳实践吗?

最佳答案

您不是在复制它,而是在引用它。

您需要制作数组的硬拷贝,这可以使用 slice() 来完成。

var ArrayOne_Copy = ArrayOne.slice(0);
<小时/>

例如:

var ArrayOne = ['Apple', 'Banana', 'Orange', 'Banana'];

var ArrayOne_Copy = ArrayOne.slice(0);

ArrayOne.push('Melon');

console.log(ArrayOne);
console.log(ArrayOne_Copy);

http://jsfiddle.net/y7czyn3h/

http://davidwalsh.name/javascript-clone-array

关于javascript - JS : Comparing Arrays and adding new items or removing items no longer in array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312966/

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