Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在node.js中查找两个数组的交集_Javascript_Node.js_Mongodb - Fatal编程技术网

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)