ES6新增数据结构Set和map
set数据结构
ES6新增了Set数据结构,所有元素的值是唯一的,没有重复值
Set的创建方式一
let set1 = new Set([1,2,3,4,5,6])
console.log(set1);
输出结果
{1, 2, 3, 4, 5}
由于Set数据结构没有重复值,可以利用这一特性去除数组的重复值
let set1 = new Set([1,1,2,2,3,3,4,4])
console.log([...set1])
输出结果
[1, 2, 3, 4]
Set的创建方式二
let set1 = new Set()
set1.add(1)
set1.add(2)
set1.add(3)
console.log(set1)
输出结果
{1, 2, 3}
Set.has()
判断是否包含某个值
let set1 = new Set([1,2,3,4,5])
console.log(set1.has(2),set1.has(6))
输出结果
true false
Set.delete()
删除某个值
let set1 = new Set([1,2,3,4,5])
set1.delete(1)
set1.delete(2)
console.log(set1)
输出结果
{3, 4, 5}
Set.clear()
删除Set里所有的值
let set1 = new Set([1,2,3,4,5])
set1.clear()
console.log(set1)
输出结果
{size: 0}
Set.size
获取Set的长度
let set1 = new Set([1,2,3,4,5])
console.log(set1.size)
输出结果
5
set.keys()
、set.values()
获取Set里的键名和键值
let set1 = new Set([1,2,3,4,5])
console.log(set1.keys())
console.log(set1.values())
输出结果
SetIterator {1, 2, 3, 4, 5}
SetIterator {1, 2, 3, 4, 5}
set类型可以使用forEach()
遍历
let set1 = new Set([1,2,3,4,5])
set1.forEach((item,index)=>{
console.log(item,index)
})
输出结果
1 1
2 2
3 3
4 4
5 5
map数据结果,Map字典
map的创建方式一:map.set()
let map = new Map();
map.set("name","张三")
map.set("age",18)
console.log(map)
map.set("age",19)
输出结果
{'name' => '张三', 'age' => 18}
{'name' => '张三', 'age' => 19}
设置相同键名时,后设置的覆盖前设置的
map的创建方式二:
let map = new Map([
["name", "张三"],
["age", 20],
["height", "178cm"]
]);
console.log(map);
输出结果
{'name' => '张三', 'age' => 20, 'height' => '178cm'}
map.clear()
清空元素
let map = new Map([
["name", "张三"],
["age", 20],
["height", "178cm"]
]);
map.clear()
console.log(map);
输出结果
{size: 0}
map.delete()
删除指定元素
let map = new Map([
["name", "张三"],
["age", 20],
["height", "178cm"],
["weight", "80kg"],
]);
map.delete("name")
map.delete(20)
map.delete("height","weight")
console.log(map);
输出结果
{'age' => 20, 'weight' => '80kg'}
map.delete()
里跟的时键名,跟键值无效,多个值取第一个值
map.get()
获取键值
let map = new Map([
["name", "张三"],
["age", 20],
["height", "178cm"],
["weight", "80kg"],
]);
let res = map.get("name")
console.log(res);
输出结果
张三
map.keys()
获取键名、map.values()
获取键值
let map = new Map([
["name", "张三"],
["age", 20],
["height", "178cm"],
["weight", "80kg"],
]);
console.log(map.values());
console.log(map.keys());
输出结果
MapIterator {'张三', 20, '178cm', '80kg'}
MapIterator {'name', 'age', 'height', 'weight'}
万万语录
2022.11.17
今天不高兴写了,就这样