Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

setで配列を追加するときに注意すること。

実際のところ

var set = new Set()

set.add(1)
set.add(2)
set.add(3)
set.add([1,1])
set.add([1,3])
// Set { 1, 2, 3, [ 1, 1 ], [ 1, 3 ] }

ナカミを確認します。
普通の数値なら難なく確認できますが……配列だと駄目です。

> set.has(1)
true
> set.has([1,1])
false

ここで、配列を格納した変数を生成し、setに追加してみると……ちゃんと認識します。

ary = [2,2]
set.add(ary)
// Set { 1, 2, 3, [ 1, 1 ], [ 1, 3 ], [ 2, 2 ] }

set.has(ary)
// true

参考もと