标签:type 基本 number filter set bsp OLE union value
<script type="text/javascript">
// map基本使用
let map=new Map();
map.set(‘name‘,‘张三‘);
map.set(‘age‘,11);
map.set(‘已婚‘,false);
console.log(map.get(‘name‘));
console.log(map.get(‘age‘));
console.log(map.get(‘已婚‘));
// key是对象
let obj={};
map.set(obj,‘对象‘);
console.log(map.get(obj));
// key是函数
let func=function(){};
map.set(func,‘函数‘);
console.log(map.get(func));
// key是NaN
map.set(NaN,‘NaN‘);
console.log(map.get(NaN));
console.log(map.get(Number(‘aaa‘)));
// Map迭代
// for ..of
for(let[key,value] of map){
console.log(key,value);
}
// forEach
map.forEach(function(value,key){
console.log(value,key);
})
console.log(‘所有的key‘);
for(let key of map.keys()){
console.log(key)
}
console.log(‘所有的值‘);
for(let value of map.values()){
console.log(value);
}
// Map对象操作
// Map与Array转换
// 数组转Map
let arr=[[‘k1‘,‘v1‘],[‘k2‘,‘v2‘]];
let map2=new Map(arr);
console.log(map2);
// Map转数组
let arr2=Array.from(map2);
console.log(arr2);
// Map合并
let map3=new Map([...map,...map2]);
console.log(map3);
// Set对象
// Set里的value值是唯一的
let myMap=new Map();
myMap.set(‘no001‘,‘张三‘);
myMap.set(‘no002‘,‘李四‘);
myMap.set(‘no003‘,‘张三‘);
console.log(myMap);
let mySet=new Set();
mySet.add(‘张三‘);
mySet.add(‘李四‘);
mySet.add(‘张三‘);
console.log(mySet);
// set遍历
// for ...of
for(let value of mySet.values()){
console.log(value);
}
mySet.forEach(function(value){
console.log(value)
});
// Set数组转换
let arr3=[[‘k1‘,‘v1‘],[‘k2‘,‘v2‘]];
let set3=new Set(arr3);
console.log(set3)
let arr4=[...set3];
console.log(arr4)
// 数组去重
let arr5=[1,3,5,3,6];
let set6=new Set(arr5);
let arr6=[...set6];
console.log(‘数组去重‘)
console.log(arr6)
// 求并集
let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);
let union = new Set([...a, ...b]); // {1, 2, 3, 4}
console.log(‘求并集‘)
console.log(union)
// 求交集
let a2 = new Set([1, 2, 3]);
let b2 = new Set([4, 3, 2]);
let intersect = new Set([...a2].filter(x => b2.has(x))); // {2, 3}
console.log(‘求交集‘)
console.log(intersect)
// 求差集
let a3 = new Set([1, 2, 3]);
let b3 = new Set([4, 3, 2]);
let difference = new Set([...a3].filter(x => !b3.has(x))); // {1}
console.log(‘求差集‘)
console.log(difference)
</script>
标签:type 基本 number filter set bsp OLE union value
原文地址:https://www.cnblogs.com/Essaycode/p/13379453.html