Kuzunoha-NEのブログ

プログラミングなどの勉強をしてます

【JavaScript】二つの配列をチェックし重複を消して配列として出力する

こんばんは葛の葉です。今回もミニサイズで。

二つの配列をチェックし重複を消して配列として出力する

スプレッド構文とSetを使って重複削除をします。比較的新しいEcmaScriptになるので、古いやり方だとどうやるかはちょっとわからない。。。

developer.mozilla.org

developer.mozilla.org

const l1 = [1, 2, 3, 4, 5];
const l2 = [2, 3, 4, 5, 6];
const l3 = [...new Set([...l1, ...l2])];
console.log(l3); // [ 1, 2, 3, 4, 5, 6 ]
console.log(l1); // [ 1, 2, 3, 4, 5 ]
console.log(l2); // [ 2, 3, 4, 5, 6 ]

くるしいなぁこれ

Setはスプレッド構文で配列へ

Set型は...スプレッド構文によって分解することが出来ます。その分解された各値を[]配列で囲ってあげると配列になることができます。

const hoge = [1,2,3,4,5,5];
const piyo = new Set(hoge);

console.log(piyo); // Set { 1, 2, 3, 4, 5 }
console.log([...piyo]); // [ 1, 2, 3, 4, 5 ]
console.log(Array.isArray([...piyo])); // true