我有一个JavaScript过滤器功能的问题。
这是我对它应该如何工作的想法。
1.我需要检查一个对象是否在fetchedImage数组中(首先,所有的图像都不在数组中,因为数组是空的)。
1.所以我们将所有新的图像(不在fetchedImage数组中)推入队列数组。
1.第二次我们检查对象是否在数组中,它们将在数组中,因此没有图像进入队列数组。
我的代码结果显示,队列在不添加新图像的情况下保持增长。
我的代码:
let images = res.items;
if(images)
{
// should return items that are not in the array
let newImages = images.filter(image => {
return fetchedImages.includes(image) == false; // ps: (image is object)
})
// add all new images into the queue array
queue = [].concat(queue, newImages);
}
(我可能在过滤器功能中做错了什么,但我无法修复它)
3条答案
按热度按时间slwdgvem1#
在JavaScript中,不能安全地比较两个对象。要么使用图像对象的唯一属性进行比较,要么查看此SO帖子以获得其他解决方案:Object comparison in JavaScript
68bkxrlz2#
如果有人有同样的问题。我找到了一个工作解决方案与此特定的代码:
使用find方法
6ojccjat3#