比较两个数组并返回重复的值
compare two arrays and return duplicate values
如何检索存在于同一文档的两个不同数组中的元素。
例如。在Posts集合中,文档具有字段"interestbycreator"answers"interestby reader"每个字段都包含用户ID。
'interestbycreator': //an array of ids here. IdA, idB, IdC, IdD, IdE,
'interestbyreader': //an array of ids here. IdB, idE, iDF
基本上,我希望找到两个数组中存在的所有id,因此应该是IdB和IdE。
我能够从带下划线的数组中提取所有值,并将它们存储在一个变量中。它们可以通过这种方式相互比较并返回重复项吗?或者有人可以为另一种解决方案提供一些启示。
从"interestbyreader "检索所有Id的示例
var interestbypostcreater = Posts.find({_id: Meteor.user().profile.postcreated[0]}, {fields: {interestbyreader: 1}}).fetch();
var interestedReaderIds = _.chain(interestbypostcreator).pluck('interestbyreader').flatten().value();
假设我将另一个数组"interestbycreator"存储在一个名为interestIdcreator的变量中,可以对它们进行比较以查找重复项并返回这些重复项吗?
正如saimeunt在评论中所说,当您可以访问下划线时,请使用交集,但也可以使用纯javascript:
var x = ['IdA', 'idB', 'IdC', 'IdD', 'IdE'];
var y = ['idB', 'IdE', 'IdF'];
var z = x.filter(function(val) {
return y.indexOf(val) != -1;
});
console.log(z);
则数组z
包含双条目。
信用额度https://stackoverflow.com/a/14930567/441907
正如Saimeunt所指出的,它可以作为来完成
var x = ['IdA', 'idB', 'IdC', 'IdD', 'IdE'];
var y = ['idB', 'IdE', 'IdF'];
var z = _.intersection(x, y);
相关文章:
- Regex提取URL返回数组的一部分;未定义”;
- 为循环嵌套的Javascript未按预期返回数组
- 从函数中的函数返回数组时出错
- JSON返回数组的奇怪结果
- 如何从NodeJS中的模块返回数组
- 在JS中返回数组的大整数运算
- 从Nodejs中的函数返回数组,并将其发送到ejs视图
- 从函数返回数组
- undercore返回数组中对象的indes,其中单词存在于对象中的句子中
- Yui Get 复选框返回数组而不是布尔值
- 从异步调用返回数组,然后为数组的每个元素返回其他异步调用
- JavaScript闭包和返回数组元素
- 按流星空格键模板中的索引返回数组项
- 从多个文件中推送文本的函数(使用html5文件读取器上传)返回数组
- 我想返回数组
- PHP和Ajax在回调和返回数组中使用foreach循环
- Javascript-如何通过以字符串作为参数返回数组
- 从JSON调用SQL返回数组时出现问题
- Jasmine spyOn使用伪造的返回数组测试功能
- 无法从从sql数据库读取的javascript函数中获取返回数组