例1:セットを使用して交差を実行する
// program to perform intersection between two arrays using Set
// intersection contains the elements of array1 that are also in array2
function performIntersection(arr1, arr2) {
// converting into Set
const setA = new Set(arr1);
const setB = new Set(arr2);
let intersectionResult = [];
for (let i of setB) {
if (setA.has(i)) {
intersectionResult.push(i);
}
}
return intersectionResult;
}
const array1 = [1, 2, 3, 5, 9];
const array2 = [1, 3, 5, 8];
const result = performIntersection(array1, array2);
console.log(result);
出力
[1, 3, 5]
上記のプログラムでは、交差が実行されます array1
そして array2
。
- 配列要素はに変換されます
Set
を使用する要素new Set()
コンストラクタ。 - ザ・
for...of
ループは2番目を繰り返すために使用されますSet
要素。 - ザ・
has()
メソッドは、要素が最初にあるかどうかを確認するために使用されますSet
。 - 要素が最初に存在する場合
Set
、その要素がに追加されます 交差結果 を使用した配列push()
方法。
例2:filter()メソッドを使用して交差を実行する
// program to perform intersection between two arrays
function performIntersection(arr1, arr2) {
const intersectionResult = arr1.filter(x => arr2.indexOf(x) !== -1);
return intersectionResult;
}
const array1 = [1, 2, 3, 5, 9];
const array2 = [1, 3, 5, 8];
const result = performIntersection(array1, array2);
console.log(result);
出力
[1, 3, 5]
上記のプログラムでは、2つの配列間で交差が実行されます。 filter()
方法。 filterメソッドは配列を反復処理し、指定された条件に合格した配列要素を返します。
- 最初の配列の各要素は、を使用して2番目の配列と比較されます。
indexOf()
方法。 - ザ・
arr2.indexOf(x)
メソッド検索 arr2 の最初の出現位置を返します arr1。 値が見つからない場合は、 -1。 - 両方の配列にあるすべての要素は、によって返されます
filter()
方法。
注意: また、を使用することができます includes()
配列要素が両方の配列にあるかどうかを確認するメソッド。
const intersectionResult = arr1.filter(x => arr2.includes(x))
Hope this helps!
Source link