ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Set 和 Map

2022-07-17 14:03:00  阅读:95  来源: 互联网

标签:Map arr Set ... 元素 let new


Set

类似于数组,但成员都是唯一的,实现了iterator接口,可以使用扩展运算符 和 for...of 遍历

let s = new Set([1,2,3])
// new Set()如果传递一个可迭代的对象,这个对象所有的元素被添加到新的Set中
// s = {1,2,3}
s.size // 返回集合的元素个数
s.add(4) // 添加一个元素 4  s = {1,2,3,4}
s.delete(4) // 删除指定元素  s = {1,2,3}
s.has(3) // 检测集合中是否包含某个元素 true
s.clear() // 清空集合 s = {}

数组去重
由于set集合中的成员都是唯一的,并且set实现了iterator接口,可以使用扩展运算符

let arr = [1,1,2,2,3,3]
let s = new Set(arr) // s = {1,2,3} 但是现在s还不是一个数组
s = [...s] // 利用扩展运算符展开,现在s是一个数组了

并集

let s = [...new Set([...arr,...arr2])]

交集

let s = [...new Set(arr)].filter(item => new Set(arr2).has(item))

差集

let s = [...new Set(arr)].filter(item => !(new Set(arr2).has(item)))

Map

类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,任何类型的数据都可以当作“键”,Map也有iterator接口

let m = new Map()
m.set(键,值) // 添加元素,键可以是任意数据类型(包括对象)
m.get(键) // 返回指定键的键值
m.size // 返回集合的元素个数
m.delete(键) // 删除指定键的元素
m.has(键) // 检测集合中是否包含某个元素
m.clear() // 清空集合

普通对象的键只能是string类型,Map对象的键可以是任意类型(进化版对象)
[key,value]
每个元素都是数组,数组中第一个值为 键 ,第二个值为 值

标签:Map,arr,Set,...,元素,let,new
来源: https://www.cnblogs.com/imycc/p/16486752.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有