この記事では、JavaScriptで2つの配列の交点を見つける方法を見 順序の言葉では、各配列に存在する共通の値をリストします。たとえば、配列です。
配列。プロトタイプ。filter()
アイデアは、第二の配列内の最初の配列の各要素の存在をチェックすることです。 This can be easily done using indexOf()
method with the filter()
method in following manner:
1
2
3
4
5
6
7
8
9
|
var first = ;
var second = ;
var common = first.filter(x => second.indexOf(x) !== -1)
console.2,3
*/
|
配列内の特定の要素の存在を確認するには、最新の
配列内の特定の要素の存在を確認するために、我々はまた、最新の
includes()
ブール値を返すメソッド。 これを以下に示します:
1
2
3
4
5
6
7
8
9
|
var first = ;
var second = ;
var common = first.filter(x => second.includes(x))
console.log(“The common elements are: ” + common);
/*
Output: The common elements are: 2,3
*/
|
注このソリューションは、出力に一意の値にはなりません。別の解決策は、配列をES6Set
has()
メソッドを呼び出して、他の配列の要素の存在を確認することです。/div>
1
2
3
4
関数の交差(第一、第二)
{
var s=新しいセット(第二);
最初に戻ります。フィルタ(アイテム=>s.has(アイテム));
};
var first= ;
var second=;
var common=intersection(first,second);
コンソール。log(“共通要素は次のとおりです:”+common);
/*
出力:共通要素は次のとおりです:2,3
*/
|
出力に重複が印刷されないようにするには、次のように最初の配列から重複項目を削除することができます:/div>
1
2
3
4
|
アンダースコア/Lodash
共通の値を見つけるための中間データ構造としてSetを使用したくなコードはunderscoreまたはlodashライブラリを使用して単純化することができます。 The following code example prints the unique values that are present in given arrays using intersection() method.
1
2
3
4
5
6
7
8
9
10
11
|
var _ = require(‘lodash’); // or underscore
var first = ;
var second = ;
var common = _.intersection(first, second);
コンソール。2,3
*/
|
jQuery
jQueryを使用すると、以下のコードを使用できます:/div>
1
2
3
4
20
|
const{jsdom}=require(“jsdom”);
const{window}=new jsdom();
var var=require(“jquery”)(ウィンドウ);
var first=;
var second=;
var secondNotFirst=$(second)。//-=
var common=$(second).//-=
var common=$(second).//-=
//-=
コンソール。log(“共通の要素は次のとおりです。”);
for(var i=0;i<共通。長さ;i++){
コンソール。log(common);
}
/*
出力:共通の要素は次のとおりです:コードはjQueryを使用して単純化することができます
filter() |
コードは、jQueryを使用して単純化することができますfilter()
メソッド:/div>
1
2
3
4
|
;
var second=;
var common=$(second)。filter(first);
コンソール。log(“共通の要素は次のとおりです。”);
for(var i=0;i<共通。長さ;i++){
コンソール。出力:共通の要素は次のとおりです。
2
3
*/
|