es6中Set与Map
Set定义:Set是类似于数组,成员对象都是唯一的
属性以及方法:
- size 返回集合的元素个数
- add 增加一个新元素,返回当前集合
- delete 删除元素,返回 Boolean 值
- has 检测集合中是否包含某个元素,返回 Boolean 值
- clear 清空操作,返回undefined
举例应用说明:
日常生活中,当我们遇到需要去重的数组,而不想通过写遍历去去重时,便可用过Set进行去重
let arr=[1,1,2,3,4,7,6,5,3] // 法1 let arr1=[...new Set(arr)] // 法2 let arr2=Array.from(new Set(arr)) console.log("arr",arr) console.log("arr1",arr1) console.log("arr2",arr2)

Map定义:Map是类似于对象,区别于普通对象的是--普通对象的 key 必须是字符串或者数字,而 Map 的 key 可以是任何数据类型
属性以及方法:
- size 返回Map的元素个数
- set 增加一个新元素,返回当前Map
- get 返回键名对象的键值
- delete 删除元素,返回 Boolean 值
- has 检测Map中是否包含某个元素,返回 Boolean 值
- clear 清空操作,返回undefined
举例应用说明:
当我们声明的key不为字符串或数字时,通过Map去声明
let mapObj=new Map() mapObj.set('name','nicoz') mapObj.set({age:'8'},false) // 可将其转为一个二维数组,数组长度为map的size, // 二维数中每一项为key,value组成的长度为2的数组 let arrfrMap=[...mapObj] console.log('mapObj',mapObj,'arrfrMap',arrfrMap)

Map也可与二维数组之间相互转换
let mapfrArr=new Map([['name','nicoz'],['eat','apple']]) console.log('mapfrArr',mapfrArr)

Map也可由Object转换
let obj={ name:"nini", sex:'female' } let mapfrObj = new Map(Object.entries(obj)) console.log('mapfrObj',mapfrObj)


浙公网安备 33010602011771号