JavaScript | 2つの配列から差分データを取得する方法
2つの配列から差分データを取得する方法とそのサンプルコードを紹介しています。
2つの配列から差分データを取得するサンプルコード
方法のひとつとして、Array.filter()
メソッドを使って2つの配列から差分データを取得する事ができます。
例えば、以下のコードでは data1 の配列データのうち data2 の配列データにはないデータを取得しています。
const data1 = [1, 2, 3, 4, 5]
const data2 = [4, 5, 6, 7, 8]
const diff = data1.filter(x => !data2.includes(x))
console.log(diff)
// [1, 2, 3]
指定する配列データを逆にした場合は、data2 の配列データのうち data1 の配列データにはないデータを取得する事ができます。
const data1 = [1, 2, 3, 4, 5]
const data2 = [4, 5, 6, 7, 8]
const diff = data2.filter(x => !data1.includes(x))
console.log(diff)
// [6, 7, 8]
ほかには、Array.reduce()
メゾットを使って配列から差分を得る方法などがあります。
const data1 = [1, 2, 3, 4, 5]
const data2 = [4, 5, 6, 7, 8]
const diff = data1.reduce((acc, x) => data2.includes(x) ? acc : acc.concat(x), [])
console.log(diff)
// [1, 2, 3]
ディスカッション
コメント一覧
まだ、コメントがありません