2つの配列を比較して差分だけの配列を作る方法


手順

  • 差分を抜きたい配列Aに対してarray.filterをかけます
  • その中で別の比較対象の配列Bに対してindexOf(配列Aのitem) == -1してあげる

これで配列Aの要素かつ、配列Bに存在しない要素が残ります。🚀

パフォーマンス面でのベストプラクティスではないかもしれませんが、やり方の1つとして参考になればと思います👍

コード

let arrayA = ["A", "B", "C", "D", "E"];
let arrayB = ["B", "D"];

// 配列Aに対して
let result = arrayA.filter(itemA => 
  // 配列Bに存在しない要素が返る
  arrayB.indexOf(itemA) == -1
);  
console.log(result); // [ 'A', 'C', 'E' ]