日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

es6的Map()构造函数

發布時間:2023/11/30 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 es6的Map()构造函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

普通的object對象是鍵值對的集合,但對于它的鍵卻有著嚴苛的要求,必須是字符串,這給我們平時帶來很多的不方便

Map函數類似于對象,但它是一個更加完美的簡直對集合,鍵可以是任意類型


?

  • set()方法可以向map實例對象中添加一組鍵值對
let a=new Map(); let key={name:"ww",sex:"man"}; a.set(key,'ABC'); console.log(a)//{{name:"ww",sex:"man"}=>"ABC"} let b=new Map(); b.set('name','zhangsan'); console.log(b)//{'name'=>'zhangsan'}
  • get()方法可以向map對象獲取一個屬性值
let a=new Map(); let key={name:"ww",sex:"man"}; a.set(key,'ABC'); console.log(a.get(key))//'ABC'
  • has()方法檢測map對象中是否存在某個屬性,返回bool
  • delete()方法刪除map對象中某個鍵,返回bool
let a=new Map(); let key={name:"ww",sex:"man"}; a.set(key,'ABC'); console.log(a.has(key))//true a.delete(key); console.log(a.has(key))//false
  • ?Map()函數接受數組作為參數,最少必須是二維雙數組,長度為2
let a=new Map([['name','wangwei'],['sex','man']]); console.log(a)//{'name'=>'wangwei','sex'=>'man'} let b=new Set([['a','A'],['b','B']]); let c=new Map(b); console.log(c)//{'a'=>'A','b'=>'B'}
  • Map()函數接受iterator接口,Map可以自己賦值,注意:不可以對象初始化Map
let b=new Set([['a','A'],['b','B']]); let c=new Map(b); let d=new Map(c); console.log(d)
  • Map函數初始化,注意:數組引用必須相同才會覆蓋
let a=['a','A']; let b=['a','A']; let c=new Map(); c.set(a,1); c.set(b,2); console.log(c.get(a),c.get(b))// 1 2 let a=['a','A']; let b=a; let c=new Map(); c.set(a,1); c.set(b,2); console.log(c.get(a),c.get(b))// 2 2
  • size屬性獲取map對象成員個數
  • clear()屬性清除map對象的成員
  • forEach()遍歷
  • keys()
  • entries()
  • values()
let a=new Map([[1,'a'],[2,'b'],[3,'c']]); for(let i of a){console.log(i) } //[1,'a'],[2,'b'],[3,'c'] for(let i of a.keys()){console.log(i) }//1 2 3 for(let i of a.values()){console.log(i) }//a b c for(let [key,value] of a.entries()){console.log(key,value) }//1 'a' 2 'b' 3 'c'
  • Map轉換為數組 方法 ...|...keys()|...values|...entries
let a=new Map([[1,'a'],[2,'b'],[3,'c']]); let b=[...a]; console.log(b)//[[1,'a'],[2,'b'],[3,'c']] let c=[...a.keys()]; console.log(c)//[1,2,3] let d=[...a.values()]; console.log(d);//["a", "b", "c"] let e=[...a.entries()]; console.log(e);//[[1,'a'],[2,'b'],[3,'c']]
  • ?Map對象轉換為對象,注意:Map的鍵必須全部是字符串
let a=new Map([['a','A'],['b','B'],['c','C']]); let b={}; for(let [key,value] of a){b[key]=value } console.log(b)//{a: "A", b: "B", c: "C"}
  • 對象轉換為Map
let a=new Map(); let b={a: "A", b: "B", c: "C"}; for(let i in b){a.set(i,b[i]) } console.log(a)//{"a" => "A", "b" => "B", "c" => "C"}
  • JSON轉對象,可以先轉換為數組或者對象再轉換為map
  • weakMap()鍵必須是對象

轉載于:https://www.cnblogs.com/douyaer/p/7942974.html

總結

以上是生活随笔為你收集整理的es6的Map()构造函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。