
SetとArray.fromを使用した重複除外
JavaScriptで配列の重複した値を除外したい場合はfilterを使用して下記のように記述する。
1 2 3 4 5 6 | const arr = [1, 1, 2, 3, 4, 2] const uniqArr = arr.filter((v, i, self) => { return self.indexOf(v) === i }) console.log(uniqArr) // [1, 2, 3, 4] |
上記が一般的なやり方だがSetとスプレッド構文を使用した方法も存在する。
1 2 3 4 | const arr = [1, 1, 2, 3, 4, 2] const uniqArr = [... new Set(arr)] console.log(uniqArr) // [1, 2, 3, 4] |
現在は対応ブラウザの関係上そのまま使用することはできないが、重複除外用のメソッドは現在も存在しないので数年後にはこのやり方が一般的になっているはず。