31
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JavaScriptで2つの配列の差分を抽出する

Posted at

JavaScriptで2つの配列の差分を抽出する

JavaScriptの2つの配列で、どちらか一方に含まれている要素を表示するような処理を行う。
今回は、サンプルのためにforEachの中に条件分岐を書いて、console.logで表示するだけにしているが、他のオペレータを使って、色んな処理を追加することもできそう。

なお、本記事はjs 二つの配列の差分を求める - Qiitaを大変参考にさせていただいた。

ポイント

  1. array.concatで、2つの配列を連結させた新しい配列を生成する
    => 参考:Array.prototype.concat() - JavaScript | MDN

  2. array.forEachで1で生成した新しい配列の各要素に対して3の操作を行う
    => 参考:Array.prototype.forEach() - JavaScript | MDN

  3. array.includesで指定した要素が、arrayに含まれているかどうかの確認を行う
    => 参考:Array.prototype.includes() - JavaScript | MDN


const array1 = [0, 1, 2, 3, 4];
const array2 = [0, 6, 2, 3, 4];

array1.concat(array2)
    .forEach(item => {
        if (array1.includes(item) && !array2.includes(item)) {
            console.log(`array1に含まれていて、array2に含まれていない : ${item}`);
        } else if (!array1.includes(item) && array2.includes(item)) {
         console.log(`array1に含まれていなくて、array2に含まれていてる : ${item}`);
    }
})

結果

array1に含まれていて、array2に含まれていない : 1
array1に含まれていなくて、array2に含まれていてる : 6

参考にさせていただいたサイト
js 二つの配列の差分を求める - Qiita
Array.prototype.includes() - JavaScript | MDN

31
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?