- フィルタリングを使用した方法:
- この方法では、最初の配列から2番目の配列に存在しない要素を抽出します。
function findArrayDifference(arr1, arr2) {
return arr1.filter(item => !arr2.includes(item));
}
// 使用例
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const difference = findArrayDifference(array1, array2);
console.log(difference); // [1, 2]
Array.prototype.reduce()
を使用した方法:- この方法では、最初の配列をループし、2番目の配列に存在しない要素だけを集めます。
function findArrayDifference(arr1, arr2) {
return arr1.reduce((difference, item) => {
if (!arr2.includes(item)) {
difference.push(item);
}
return difference;
}, []);
}
// 使用例
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const difference = findArrayDifference(array1, array2);
console.log(difference); // [1, 2]
- Setオブジェクトを使用した方法:
- この方法では、2つの配列をそれぞれSetオブジェクトに変換し、その差分を求めます。
function findArrayDifference(arr1, arr2) {
const set1 = new Set(arr1);
const set2 = new Set(arr2);
return [...set1].filter(item => !set2.has(item));
}
// 使用例
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const difference = findArrayDifference(array1, array2);
console.log(difference); // [1, 2]
これらの方法を使用すると、2つの配列の差を見つけることができます。どの方法を選ぶかは、特定の状況やパフォーマンスの要件によります。選んだ方法がデータセットに適しているかどうかを検討し、最適な方法を選んでください。