//map结构,一种新的数据对象,类似对象,属性名不在仅仅是字符串,可以是其他数据类型
var map = new Map([["name","john"],["age",30]]);
map.set(["1","3"]); //这样只会添加一个为数组的属性,属性值为undefined
map.set(1,3);//添加一个属性名为1,属性值为3的一对键值
console.log(map);
console.log(map.get(1)); //获得属性名为1的属性值
map.delete(1); //删除属性名为1的键值对
map.clear() //清除map
console.log(map.keys()); //返回所有键名
console.log(map.values()); //返回所有键值
console.log(map.entries()); //返回所有键值对
//for of是一种遍历方式,不能遍历对象,但是可以遍历数组、字符串、set
//使用for of获取map的所有键名和键值
for(let[key,value] of map.entries()){
console.log(key,value);
}
//使用回调函数遍历每个成员,第一个使用了箭头函数
map.forEach((value,key)=>console.log(value))
map.forEach(function(value,index){
console.log(value,index);
})
//set结构,一种新的数据结构,类似数组,set从某种意义上可看成一个集合,元素不重复
var set = new Set([1,1,1,3,5,55,55,24]);
console.log(set);
console.log(set.size);
set.add(21); //添加到了set的最后
set.delete(1);
console.log(set.has(3));
//set.clear();
console.log(set.keys());
console.log(set.values());
console.log(set.entries());//键名和键值一样