ECMAScript 2015 亦提供 Set,與 Dart 的 Set 相同,只是語法不太一樣。
Version
ECMAScript 2015
Set
let set1 = new Set([1, 2, 3])
set1.add(3)
console.log(set1)
new
:需使用new
建立 Set- Set 可自由地
新增
、修改
、刪除
與清空
Set 內的 element,若重複則無法再新增 - 可將 Set 視為
不重複
的 Array
Use Set for Duplicated Array
var list1 = [1, 2, 3, 3]
var list2 = [...new Set(list1)]
console.log(list1) // [1, 2, 3, 3]
console.log(list2) // [1, 2, 3]
- 由於 Set 不重複的特性,可將具有重複值的 Array 轉成 Set 去除重複值,最後再轉回 Array
var list1 = [1, 2, 3, 3]
var list2 = Array.from(new Set(list1))
console.log(list1) // [1, 2, 3, 3]
console.log(list2) // [1, 2, 3]
- 也可使用
Array.from()
將 Set 轉回 Array
Conclusion
- JavaScript 的 Set 與 Dart 觀念完全一樣,只是語法稍有不同