比较地图和对象键名/**--------------------地图--------------------*/Mapkeyname可以是任意类型constmap=newMap([[1,'111'],['a','aaa'],[true,true],[{x:1},'object'],[null,'null'],[undefined,'undefined']])/**--------------------对象------------------*/Object键名只能是字符串(Object默认会将键名转换成字符串格式)tocreate/**--------------------Map--------------------*/constmap=newMap()//新关键字创建/**---------------Object------------------*/constobj=newObject()//new关键字创建constobj={}//直接赋值constobj=Object.create()//使用create创建//函数式创建函数Person(name,age){this.name=name;this.age=age;}constobj=newPerson()添加元素/**--------------------映射------------------*///创建时整体塞入集合constmap=newMap([[1,'111'],['a','aaa'],[true,true]])//链设置constmap=newMap().set(1,'111').set('a','aaa').set(true,true)//设置单个设置constmap=新地图()地图。设置(1,'111')map.set('a','aaa')map.set(true,true)/**--------------------对象----------------*///常用赋值方式-->object.key/object[key]constobj={}obj.a='aaaa'obj['1']=1111//new关键字插入到对象中constobj=newObject({1:'111',a:'aaa',true:true})//直接赋值constobj={1:'111',a:'aaa',true:true}//使用create创建时,插入对象constobj=Object.create({1:'111',a:'aaa',true:true})//创建函数时,this指定赋值函数Person(name,age){this.name=name;this.age=age;}constobj=newPerson()获取元素/**---------------------Map------------------*/constmap=newMap([[1,'111'],['a','aaa'],[true,true]])map.get(1)map.get('a')map.get(true)/**--------------------对象------------------*/constobj={1:'111',a:'aaa',true:true}obj.a//object.keyobj[1]//object[key]删除元素/**----------地图-----------------*/constmap=newMap([[1,'111'],['a','aaa'],[true,true]])map.delete('a')//单次删除map.clear()//清除所有元素/**--------------------Object--------------------*/letobj={1:'111',a:'aaa',true:true}deleteobj[true]//单删除obj={}//清空所有元素,判断元素是否存在/**----------------Map------------------*/constmap=newMap([[1,'111'],['a','aaa'],[true,true]])map.has('a')//返回布尔值/**--------------------对象--------------------*/letobj={1:'111',a:'aaa',true:true}//如果返回undefined,表示obj.aobj[1]的长度不存在/**-------------------地图--------------------*/constmap=newMap()地图。大小/**--------------------对象--------------------*/constobj=newObject()Object.keys(obj).length遍历方法/**--------------------Map----------------*/constmap=newMap([[1,'111'],['a','aaa'],[true,true]])//keysmap.keys()//{1,'a',true}//valuesmap.values()//{'111','aaa',true}//entriesmap.entries()//{[1,'111'],['a','aaa'],[true,true]}//forEachmap.forEach((value,key,map)=>console.log(value,key,map))//1111Map(3){1=>'111','a'=>'aaa',true=>true}//aaaaMap(3){1=>'111','a'=>'aaa',true=>true}//truetrueMap(3){1=>'111','a'=>'aaa',true=>true}//for...offor(const[key,value]ofmap){console.log(key,value)}//1111//aaa//truetrue/**---------------------对象------------------*///for...inconstobj={1:'111',a:'aaa',true:true}for(constkeyinobj){console.log(key)}//1//a//true
