1. 程式人生 > 實用技巧 >JS-Es6的Set資料結構

JS-Es6的Set資料結構

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         <script type="text/javascript">
 9             
10             // Set資料結構是es6新增的,類似於陣列,可以用於陣列的去重
11             let a 
= [1,1,2,3,3,4,4,5,6,6] 12 let b = new Set(a) 13 //此時雖然去重了,但是資料結構不是陣列,需要將其轉為陣列方便下一步操作 14 console.log(b) 15 b.add(8) //新增一個元素,返回值為Set結構本身 16 b.delete(1) //刪除某個值,返回值為布林值,代表刪除是否成功 17 b.has(2)//判斷引數是否為Set成員,返回值為布林值 18 //清空Set結構,無返回值
19 // b.clear() 20 b = [...b] //同樣使用es6的擴充套件運算子將Set資料結構轉為陣列結構 21 console.log(b) 22 // 也可以這樣 let b = [...new Set(a)] 23 24 let c = ['b','b','b','c','d'] 25 let d = new Set(c) 26 // Set結構的遍歷 27 for (let item of d.keys()) {
28 console.log(item) //key:b、c、d 29 } 30 31 for (let item of d.values()) { //此方法可直接省去 values() 32 console.log(item) //value: b、c、d 33 } 34 35 for (let item of d.entries()) { 36 console.log(item) //返回鍵值對:["b", "b"]["c", "c"]["d", "d"] 37 } 38 39 d.forEach((item,index,arr) => { 40 console.log(item,index,arr) 41 }) 42 </script> 43 </body> 44 </html>