0
我有一个数组,可以在查看/查看时收集图像的统计数据。读取数组时,它会显示捕获的信息,例如用户查看的日期以及特定用户_id(由Meteor.user()._id;
生成)。如下图所示显示:如何避免重复数组push()函数中的字段?
{viewedDate: "Sat Apr 08 2017 23:00:47", viewedBy: "udEnfEmy5DSBvDsSy"}
{viewedDate: "Sat Apr 08 2017 23:01:17", viewedBy: "udEnfEmy5DSBvDsSy"}
{viewedDate: "Sat Apr 08 2017 23:01:27", viewedBy: "udEnfEmy5DSBvDsSy"}
{viewedDate: "Sat Apr 08 2017 23:02:37", viewedBy: "udEnfEmy5DSBvDsSy"}
正如你会注意到,在viewedBy
领域重复。如何避免viewedBy
字段中的重复项?
查找下面我当前的代码:
var viewStatistics = buyList.find({_id:"kegqdvFHFoQptvJXn"});
var currentUserID = Meteor.user()._id;
viewStatistics.forEach(function(itemName){
viewStatisticsArray = [,...itemName.viewStatisticsArray];
if (viewStatisticsArray.indexOf(itemName)== -1) viewStatisticsArray.push({viewedDate: Date(), viewedBy: Meteor.user()._id });
});
在一个失败的尝试,以避免进入重复为viewedBy
我也曾尝试以下逻辑上使的感觉很多的代码,但未能获得预期的效果:
if (viewStatisticsArray.indexOf(itemName.viewedBy)== -1) viewStatisticsArray.push({viewedDate: Date(), viewedBy: Meteor.user()._id });
任何帮助非常感谢!
为什么不干脆将“udEnfEmy5DSBvDsSy”保存在一个变量中,然后将'viewedBy'字段设置为变量? – Carcigenicate