處理集合_建立Set
阿新 • • 發佈:2020-12-04
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>建立Set</title> <script src="../unitl/test.js"></script> <style> #results li.pass {color:green;} #results li.fail {color:red;} </style> </head> <body> <div id="firstElement"></div> <div id="secondElement"></div> <ul id="results"></ul> </body> <script> //Set 不能存在相同的元素,Set成員的值都是唯一的。 const ninjas = new Set(["Kuma","Hattori","Yagyu","Hattori"]); //丟棄重複項 assert(ninjas.has("Hattori"),"Hattori is our set"); assert(ninjas.size ===3,"There are only three ninjas in our set !"); //可以向集合中新增不存在的元素 assert(!ninjas.has("Yoshi"),"Yoshi is not in yet.."); ninjas.add("Yoshi"); assert(ninjas.has("Yoshi","Yoshi is added")); assert(ninjas.size ===4, "There are four ninjas in our set"); //向集合中新增存在的元素將補齊任何作用。 assert(ninjas.has("Kuma"),"Kuma is already added"); ninjas.add("Kuma"); assert(ninjas.size === 4,"Adding Kuma again has no effect"); //通過for...of 迴圈對集合進行遍歷。 for(let ninja of ninjas) { assert(ninja !== null,ninja); } </script> </html>
//使用內建建構函式建立Set,如果不傳入任何引數,將建立一個空Set。可以傳入字串:
new Set(["Kuma","Hattori","Yagyu","Hattori"]);
Set成員的值都是唯一的,最重要的作用是避免儲存多個相同的物件。在本例子中,檢視新增兩次"Hattori",但是隻成功新增一次。
Set具有多個可訪問的方法。例如:has方法驗證Set中是否存在元素:
ninjas.has("Hattori")
add 方法用於新增唯一成員:
ninjas.add("Yoshi")
如果你想知道Set中具有幾個元素,可以使用size屬性。與Map和陣列類似,Set也是集合,因此可以使用for-of迴圈進行遍歷。