JavaScript的默认使用 {} 来表示对象、集合。
Map是一个带 键 的数据项的集合,类似Object。通常是一个键对应一个值。{key:vale}
Set是一个特殊的,只含有键(也可以称为特殊值,我感觉和map中的键差不多)的一个集合。{key}
定义Map的方法
let col = new Map;//创建Map col.set("Jucy",60);//使用set方法根据键存储值, col.set("Xiao",88) col.set("Jucy",90)//一个键只能对应一个值,如果对用多个值,会把之前的值覆盖掉 let num = col.get("Xiao")//根据 键 来查找对应的值。 console.log(col); console.log(num); console.log(col.size /** * map.has(key),如果key存在,返回true,否则返回false * map.delete(key),根据key来删除指定的值 * map.clear(),清空这个map对象 * map.size,返回当前元素的个数 */
Map中的遍历方法
let map = new Map([//在创建Map对象的时候直接传进去参数 ["1","这是1"], ["2","这是2"], ["3","这是3"] ]) console.log(map); //map的遍历方法 for(let i of map.keys()){ //遍历所有的键 console.log(i) }; for(let i of map.values()){ //遍历所有的值 console.log(i) }; for(let i of map.entries()){ //遍历所有的实体, //这里 .entries()可以省略,只写对象名称默认是遍历所有实体。 console.log(i) }
定义Set
let set = new Set([1,2,3,3,3,"3",[3]]); console.log(set); //Set(5) {1, 2, 3, "3", Array(1)};中间重复的3会被省略掉,但是 不能数据类型的则不会 set.add(5) .add(6);//通过add方法来添加键,可以链式操作 console.log(set);// set.delete(6)//删除指定key //在Map中的方法同样也在Set中支持
Set和Map类似,也是一组key的集合,但是不存储value。所以Set'中的数据是不能够重复的