2012-05-03 16 views
2

可能性の重複:
Simplest code for array intersection in javascript検索交差点

私はMongoDBのとnodejsでアプリを書いています。私は「学生」コレクションを持っています。このコレクションには、特定の生徒が取ったすべてのコース(コースのコレクションのドキュメントを参照するコースID)のリストが含まれています。

私は2人の学生、学生Aと学生Bを持っています。この2人の生徒が共通のコースを受講したかどうかを確認したい。

すでにmongodbからstudentAとstudentBのドキュメントを取得しました。私はnode.jsアプリでこれらの2つの配列の交差点を見つけたいと思います。

私が考えていたアプローチの1つは、オブジェクトIDをキーとしてハッシュマップを作成することでした。 2番目の配列を通過し、値を1だけ増やしてみます。最後に、値が1のすべてのエントリが交差要素になります。

より良いアプローチはありますか?

お知らせください。

〜SU

+2

は、CSクラスの取り扱いが、これは割り当てのようにしてありますか? – dwerner

答えて

6

はここ

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]; 

cは、この最後の交差点が含まれています方法です。

+0

それは私が探していたものです。ありがとう! –

+0

より速いバージョンでは、短い配列の上で 'for'ループを実行してください。 – slowpoison