当前位置:网站首页>set集合
set集合
2022-08-04 05:34:00 【初夏半微凉】
set集合
set和map一样没有语法糖,只有标准写法
var s1 = new Set();
// 存数据
s1.add(100);
s1.add(100);
// 长的一样也不是一个数组,因为开辟了两个内存空间
s1.add([100]);
s1.add([100]);
s1.add(200);
console.log(s1);
// 遍历s1并打印
s1.forEach(function(el){
console.log(el);
})
var arr = [11,22,33,11];
// 遍历数组 然后把数组的元素调用s1.add添加进集合中
var s1 = new Set(arr);
// 取出了数据容器中的所有数据,然后存入新数组返回值
var srr2 = Array.from(s1);
var arr = [10,20,30,10,{
}];
// 把arr的元素全部取出,然后存入新数组arr2中
var arr2 = [...arr];
// 第二个相等,只是保存的对象,不是创建了对象 所以是一样的
console.log(arr2,arr==arr2,arr[4]==arr2[4]) //false true
//并集,两个合并在一起
var arr = [10, 20, 30, 10,{
}]
var arr2 = [100, 200,30,10]
var s1 = new Set([...arr,...arr2])
console.log(s1)
//交集,相同的部分
var arr = [10, 20, 30, 10,{
}]
var arr2 = [100, 200,30,10]
// 使用filter过滤器,来过滤掉不要的数据
var s2 = new Set(arr.filter(function(el) {
if (arr2.includes(el)) {
return el
}
}))
console.log(s2)
数组转map
数组转map:必须是二维数组
map转数组: Array.from()静态方法
var arr=[[1,"hello"],[2,"h5"],[3,{
name:"karen"}]]
var m1=new Map(arr)
var arr2=Array.from(m1)
console.log(arr,m1,arr2,arr==arr2,arr[2][1]==arr2[2][1])
var arr=[100,200,100,{
age:20},{
age:20}]
//数组转集合
var s1=new Set(arr)
console.log(s1,s1.size)
//集合转数组
var arr2=Array.from(s1)
console.log(arr,s1,arr2,arr[4]==arr2[3])
//多个数组转集合和map: ...
var arr1=[10,20]
var arr2=[100,20]
var arr3=[200,{
name:"karen"}]
var s1=new Set([...arr1,...arr2,arr3])
var m1=new Map([arr1,arr2,arr3])
var m2=new Map(m1)
console.log(m1,m2,m1==m2,m1.get(200)==m2.get(200))
边栏推荐
猜你喜欢
随机推荐
学好网络安全看这篇文章让你少走弯路
复杂格式的json转递
【音视频开发系列】QT 采集麦克风PCM并播放
VMD combined with ISSA to optimize LSSVM power prediction
MySQL之SQL结构化查询语言
JUC锁框架——初识AQS
Operating System Kernel
基于子空间结构保持的迁移学习方法MLSSM
数据库文档生成工具V1.0
微软电脑管家2.0公测版体验
基于EEMD+GRU+MLR的时间序列预测
VMD结合ISSA优化LSSVM功率预测
DropBlock: 卷积层的正则化方法及复现代码
EL expression
无监督特征对齐的迁移学习理论框架
华硕飞行堡垒系列无线网经常显示“无法连接网络” || 一打开游戏就断网
MATLAB 的ICEEMDAN分解代码实现
有且仅有的三种处理JSON的方法
Based on the EEMD + + MLR GRU helped time series prediction
电脑知识:台式电脑应该选择品牌和组装,值得收藏