JavaScriptでの配列の共通要素を取得する方法


  1. 方法: ループと条件文を使用する方法 この方法では、2つ以上の配列を比較し、共通の要素を見つけます。
function getIntersection(arrays) {
  if (arrays.length === 0) {
    return [];
  }
// 最初の配列をベースとして、他の配列との共通要素を探す
  const baseArray = arrays[0];
  const intersection = baseArray.filter((element) => {
    // 他の配列のすべての要素が、現在の要素と一致するかどうかをチェックする
    return arrays.every((array) => array.includes(element));
  });
  return intersection;
}
// 使用例
const array1 = [1, 2, 3, 4];
const array2 = [2, 4, 6, 8];
const array3 = [2, 4, 5, 10];
const commonElements = getIntersection([array1, array2, array3]);
console.log(commonElements); // [2, 4]
  1. 方法: Setオブジェクトを使用する方法 この方法では、Setオブジェクトを使用して配列の共通要素を取得します。
function getIntersection(arrays) {
  if (arrays.length === 0) {
    return [];
  }
// 最初の配列をSetオブジェクトに変換
  const baseSet = new Set(arrays[0]);
  // 他の配列を順番にチェックし、共通の要素をSetオブジェクトから削除する
  for (let i = 1; i < arrays.length; i++) {
    const currentArray = arrays[i];
    for (const element of baseSet) {
      if (!currentArray.includes(element)) {
        baseSet.delete(element);
      }
    }
  }
// Setオブジェクトから配列に変換して返す
  return Array.from(baseSet);
}
// 使用例
const array1 = [1, 2, 3, 4];
const array2 = [2, 4, 6, 8];
const array3 = [2, 4, 5, 10];
const commonElements = getIntersection([array1, array2, array3]);
console.log(commonElements); // [2, 4]

これらの方法を使用することで、JavaScriptで複数の配列から共通の要素を取得することができます。