所以在 interwebz 上搜索了几个小时后,我还没有找到我正在寻找的解决方案。
我有两个包含游戏对象的数组,里面有很多信息。 (例如标题、别名、缩略图、摘要、流派、发布日期…)。
Array 1 是匹配用户在注册期间指定的兴趣的对象的集合。
Array 2 是一组匹配相似用户购买的游戏的对象。 (相似用户是指有共同兴趣的用户)
问题:有可能,在我的情况下,有两个相同的游戏 - 数组 1 中的游戏也在数组 2 中。在第一个数组中,游戏在那里,因为它符合用户的兴趣。在第二个数组中,游戏存在是因为类似的用户购买了该游戏。
问题:Underscore.js 有一个不错的小函数 union() http://underscorejs.org/#union 可以为您提供两个数组的并集,但它不适用于对象数组,只能用于原始值。我怎样才能让它工作给我一个对象数组的联合?
原文由 Sahat Yalkabov 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以很容易地实现自己的。在这种情况下,我们使该函数成为通用函数,以便它可以采用任何数据类型的数组并使用提供的比较器函数将它们合并。
有关各种对象比较实现,请参阅 JavaScript 中的对象比较。