set 例項的屬性和方法
set類似與陣列,但是成員值唯一沒有重複!
let arr = [3, 5, 2, 2, 5, 5];
let unique = [...new set(arr)];
// [3, 5, 2]
set 結構的例項有以下屬性。
set 例項的方法分為兩大類:操作方法(用於運算元據)和遍歷方法(用於遍歷成員)
四個操作方法:
四個遍歷方法:
let set = new set(['red', 'green', 'blue']);
for (let item of set.keys())
// red
// green
// blue
for (let item of set.values())
// red
// green
// blue
for (let item of set.entries())
// ["red", "red"]
// ["green", "green"]
// ["blue", "blue"]
因此使用 set 可以很容易地實現並集(union)、交集(intersect)和差集(difference)。
let a = new set([1, 2, 3]);
let b = new set([4, 3, 2]);
// 並集
let union = new set([...a, ...b]);
// set
// 交集
let intersect = new set([...a].filter(x => b.has(x)));
// set
// 差集
let difference = new set([...a].filter(x => !b.has(x)));
// set
weakset與set相似都是建構函式,值都是乙個集合,但是他的成員必須是物件
map資料結構克服了物件裡面鍵值對鍵必須是字串得限制
map建構函式的鍵值對的鍵可以是任意資料結構,map實列有以下幾個屬性:
const m = new map();
m.set('edition', 6) // 鍵是字串
m.set(262, 'standard') // 鍵是數值
m.set(undefined, 'nah') // 鍵是 undefined
const map = new map([
['f', 'no'],
['t', 'yes'],
]);for (let key of map.keys())
// "f"
// "t"
for (let value of map.values())
// "no"
// "yes"
for (let item of map.entries())
// "f" "no"
// "t" "yes"
// 或者
for (let [key, value] of map.entries())
// "f" "no"
// "t" "yes"
// 等同於使用map.entries()
for (let [key, value] of map)
// "f" "no"
// "t" "yes"
es6 Set 和Map 資料結構
es6提供了新的資料結構set,它類似於陣列,但是成員的值都是唯一的,沒有重複的值。set 本身是乙個資料結構,用來生成set 資料結構。const s new set 2,3,5,4,5,2,2,2 foreach x s.add x for let i of s 2 3 5 4 set 函式可以...
ES6 Set 和 Map 資料結構
let set new set 1,2,1 console.log set add 增加,返回增加後的set console.log set.add 3 delete 刪除,返回true或false console.log set.delete 2 true has 判斷是否存在某一項,返回true...
ES6 set資料結構
set 本身是乙個建構函式,用來生成 set 資料結構。let set new set set 函式可以接受乙個陣列作為引數,用來初始化。但是成員中的值都是唯一的。沒有重複的值 let se new set let arr 2,3,4,5,6,2,3,4,5,6 arr.foreach item s...