Setオブジェクトを使って重複した値を取り除いた配列を作成する
TOC
Set
配列の重複した値を取り除きたい場合はSetオブジェクト
を使用すると簡単に実現する事ができます。
let array = [0, 1, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6]
array = new Set(array)
// [0, 1, 2, 3, 4, 5, 6]
また、Setオブジェクト
のインスタントプロパティ.size
はオブジェクト内に格納されている値の数を返します。
これを使って、受け取った配列に重複があるか調べるここともできます。
const array = ['a', 'b', 'b', 'c', 'd', 'e', 'f', 'g']
function isDuplicateValues(arr) {
return arr.length !== new Set(arr).size
}
isDuplicateValues(array) // true
それ以外にも、
- 引数で渡された値を追加する
add()
- 引数で渡された値を取り除く
delete()
- 引数で渡された値がオブジェクト内に存在するか真偽値で返す
has()
といったインスタントメソッドも用意されています。
const numSet = new Set()
numSet.add(2)
numSet.has(2) // true
numSet.delete(2)
numSet.has(2) // false
参考
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Set
Search Posts