JavaScriptで別の配列に存在しないアイテムを見つける方法


方法1: filter()メソッドを使用する方法

const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const itemsNotInArray2 = array1.filter(item => !array2.includes(item));
console.log(itemsNotInArray2);
// 出力: [1, 2]

方法2: forループを使用する方法

const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const itemsNotInArray2 = [];
for (let i = 0; i < array1.length; i++) {
  if (!array2.includes(array1[i])) {
    itemsNotInArray2.push(array1[i]);
  }
}
console.log(itemsNotInArray2);
// 出力: [1, 2]

方法3: Setオブジェクトを使用する方法

const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];
const set1 = new Set(array1);
const set2 = new Set(array2);
const itemsNotInArray2 = [...set1].filter(item => !set2.has(item));
console.log(itemsNotInArray2);
// 出力: [1, 2]

これらの方法を使用して、1つの配列に存在し、別の配列に存在しないアイテムを見つけることができます。filter()メソッドは配列の要素をフィルタリングするために使用されます。forループを使用する方法は古典的なアプローチですが、効果的です。Setオブジェクトを使用する方法は、重複を取り除くためにも使用できます。