set
set 類似于數組疟呐,沒有重復的元素艘刚,開發(fā)中可用于去重操作饮笛,它的key和value相等
初始化一個set集合
let set = new Set([1,2,3,4,4])庇茫;
console.log(set); // Set { 1, 2, 3, 4 }
-
一個屬性
size
返回集合的長度(去重后的長度)
console.log(set.size)
-
四個方法
-
add()
添加一個元素
set.add('小明')
鏈式添加多個元素
set.add('小明').add('小華')
-
-
delete()
刪除一個元素
set.delete('小明')
-
has()
判斷set集合中是否存在該元素 返回true/false
set.has('小明')傍睹;
-
clear()
清除set集合中的所有元素
set.clear()
沒有返回值
console.log(set.clear()) // undefined
map
map類似于對象棺牧,本質上是鍵值對的集合座舍。字符串、對象都可以當作鍵
初始化一個map集合
let map = new Map(
[
['name', '張三'],
['age', 14],
['age', 12],
]
)
可以去重陨帆,上述代碼中的age將被覆蓋成12
注意事項:
去重只針對于map集合的鍵是基本數據類型曲秉。對于Object這種復雜的數據類型不去重
let map = new Map(
[
['name', '張三'],
['age', 14],
['age', 12],
[{}, '123'],
[{}, '456'],
]
)
-
屬性
- size (去重后的長度)
console.log(map.size)
-
一些方法
-
set()
設置鍵值對
map.set('height', 1.78)
-
get()
通過鍵名獲取元素
console.log(map.get('height')); // 1.78
-
delete()
刪除一個鍵值對
map.delete('height')
-
has()
判斷是否有該鍵值
console.log(map.has('height'));
-
clear()
清除map集合中的數據
map.clear()
-
keys(), values(), entries()
console.log(map.keys()); // [Map Iterator] { 'name', 'age' } console.log(map.values()); // [Map Iterator] { '張三', 12 } console.log(map.entries()); // [Map Iterator] { [ 'name', '張三' ], [ 'age', 12 ] }
-
對map進行遍歷
map.forEach((value, index) => {
console.log(value);
console.log(index);
})