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
今天不高兴写了,就这样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值