ES6中Set的用法介紹(程式碼範例)
這篇文章帶給大家的內容是關於ES6中Set的用法介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
概述
Set是新的資料結構,跟其他語言的特性差不多,當然,身為js中的Set,他還是有一些屬於js的特點。
初始化
new Set([iterable]);
初始化一個Set有一個可選的參數,這個參數必須是一個可迭代的對象,可迭代對象包括String、Array、Array-Like obejct(Arguments、NodeList )、Typped Array、Set、Map和使用者定義的可迭代物件
字串
new Set('1234') // Set(4) {"1", "2", "3", "4"}
陣列
new Set([1,2,3,4]) // Set(4) {1, 2, 3, 4}
arguments
function sum(){ return new Set(arguments) } sum(1,2,3,4) // Set(4) {1, 2, 3, 4}
Set
new Set(new Set([1,2,3,4])) // Set(4) {1, 2, 3, 4}
新增值
初始化一個Set之後,可以繼續往裡面加值
let set=new Set() set.add(1) set.add(1) set.add(1) console.log(set) // Set(1) {1}
借用這個特性可以搞很多事,例如過濾重複值
new Set([1,1,2,3]) // Set(3){1,2,3}
但是請注意,兩個相同的對象字面量是不同的對象,具有不同的引用,所以Set
是無法將兩個不同引用的對象標記為同一個的,即使他們看過去是一樣的
let a={num:1} let b={num:1} console.log(a===b) //false new Set(a, b)// Set(2){{num:1},{num:2}} let c=a console.log(c===a)//true new Set(a,c)// Set(1){{num:1}}
判斷是否包含
let set=new Set([1,2,3]) set.has(1) // true set.has(4) //false
取得數量
let set=new Set([1,2,3]) set.size //3
刪除
let set=new Set([1,2,3]) set.delete(1)// true set.delete(1)// false
清除
let set=new Set([1,2,3]) set.clear() console.log(set) // Set(0){}
遍歷
let set=new Set([1,2,3]) set.forEach((s)=>{console.log(s)}) // 1 // 2 // 3
取得迭代器
let set=new Set([1,2,3]) let entries=set.entries() console.log(entries.next().value) // [1,1] console.log(entries.next().value) // [2,2] console.log(entries.next().value) // [3,3] console.log(entries.next().value) // undefined for(let item of set){ console.log(item) } // 1 // 2 // 3
取得鍵迭代器
let set=new Set([1,2,3]) let keys=set.keys() console.log(keys.next().value) // 1 console.log(keys.next().value) // 2 console.log(keys.next().value) // 3 console.log(keys.next().value) // undefined for(let {key} of set){ console.log(key) } // 1 // 2 // 3
取得值迭代器
let set=new Set([1,2,3]) let values=set.values() console.log(values.next().value) // 1 console.log(values.next().value) // 2 console.log(values.next().value) // 3 console.log(values.next().value) // undefined for(let {value} of set){ console.log(value) } // 1 // 2 // 3
以上是ES6中Set的用法介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript中的HTTP狀態碼取得方法簡介:在進行前端開發中,我們常常需要處理與後端介面的交互,而HTTP狀態碼就是其中非常重要的一部分。了解並取得HTTP狀態碼有助於我們更好地處理介面傳回的資料。本文將介紹使用JavaScript取得HTTP狀態碼的方法,並提供具體程式碼範例。一、什麼是HTTP狀態碼HTTP狀態碼是指當瀏覽器向伺服器發起請求時,服務
