set/map扩展
一.将Set集合转换为数组
方法1:
let set=new Set([1,2,3,4,5]);
let arr=Array.from(set);
console.log(arr); //[1,2,3,4,5]
console.log(set); //Set{1,2,3,4,5}
方法2:
let set=new Set([1,2,3,4]);
let arr=[];
set.forEach(item=>{
arr.push(item)
});
console.log(arr);
二.用Set实现数组去重
let arr=[1,2,2,3,3,4,4,5];
function foo(arr){
return Array.from(new Set(arr))
};
console.log(foo(arr));
console.log([…new Set([…arr,…arr1])]);
三.Map集合转换为数组
方法1:
let map = new Map([[‘name’,‘tom’],[‘age’,‘12’]])
console.log(Array.from(map))
方法2:
let map = new Map([[‘name’,‘tom’],[‘age’,‘12’]])
console.log([…map])
方法3:
let map = new Map([[‘name’,‘tom’],[‘age’,‘12’]])
let arr = []
for(let key of map) {
arr.push(key)
}
console.log(arr)
四.对象转换为Map集合
let obj = {
name:‘tom’,
age:5,
gender:‘male’
}
let res = Object.entries(obj) //拿到对象中键值对
let map = new Map(res) //作为参数传给Map
console.log(map)