Javascript 在node.js中查找两个数组的交集
可能重复:Javascript 在node.js中查找两个数组的交集,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,可能重复: 我正在用mongodb和nodejs编写一个应用程序。我有一个“学生”集合,其中包含一个数组,其中包含一个特定学生所修的所有课程(课程ID,指“课程”集合中的文档)的列表 我有两个学生,学生A和学生B。我想看看这两个学生是否修过普通课程 我已经从mongodb检索到studentA和studentB文档。我想在node.js应用程序中找到这两个数组之间的交集 我想到的一种方法是遍历第一个数组,创建一个以objectid为键的哈希映射。然后遍历第二个数组,尝试将值增加1。最后,值为1
我正在用mongodb和nodejs编写一个应用程序。我有一个“学生”集合,其中包含一个数组,其中包含一个特定学生所修的所有课程(课程ID,指“课程”集合中的文档)的列表 我有两个学生,学生A和学生B。我想看看这两个学生是否修过普通课程 我已经从mongodb检索到studentA和studentB文档。我想在node.js应用程序中找到这两个数组之间的交集 我想到的一种方法是遍历第一个数组,创建一个以objectid为键的哈希映射。然后遍历第二个数组,尝试将值增加1。最后,值为1的所有条目都是相交元素 有更好的方法吗 请让我知道 -SU以下是方法
a=[1,2,3,4];
b=[3,4,5];
c=[];
j=0;
for (var i=0; i < a.length; ++i)
if (b.indexOf(a[i]) != -1)
c[j++] = a[i];
a=[1,2,3,4];
b=[3,4,5];
c=[];
j=0;
对于(变量i=0;i
c
将包含此端点处的交点。可以计算。因此:
或
在过去的几天里,我已经看过两次这个问题了,有没有CS班把它作为作业分发?这就是我想要的。谢谢要获得更快的版本,请确保在较短的阵列上运行
For
循环。
_(a).intersection(b)
_.intersection(a, b)