摘要:提供了新的數據結構。用法結構有以下屬性構造函數,默認就是函數。結構有以下方法添加某個值,返回結構本身。返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。
Set
ES6 提供了新的數據結構 Set。它類似于數組,但是成員的值都是唯一的,沒有重復的值。
用法:new Set([iterable])
const set = new Set([1, 2, 3, 4, 4, 4]); //[1, 2, 3, 4]
Set結構有以下屬性:
Set.prototype.constructor: 構造函數,默認就是Set函數。
set.prototype.size : 返回Set的成員總數。
Set結構有以下方法:
add(value):添加某個值,返回 Set 結構本身。
delete(value):刪除某個值,返回一個布爾值,表示刪除是否成功。
has(value):返回一個布爾值,表示該值是否為Set的成員。
clear():清除所有成員,沒有返回值。
const set = new Set(); //添加元素 set.add(1).add(2).add(2); set.size; //2 //檢查元素 set.has(2); //true set.has(3); //false //刪除元素 set.delete(2); set.has(2); //false //清空集合 set.clear(); set.size; //0
一些常見應用
//數組去重 let arr = [1, 2, 3, 2, 5, 5]; let unique = [...new Set(arr)]; // [1, 2, 3, 5] //交,并,差集 let a = new Set([1, 2, 3]); let b = new Set([4, 3, 2]); // 并集 let union = new Set([...a, ...b]); // Set {1, 2, 3, 4} // 交集 let intersect = new Set([...a].filter(x => b.has(x))); // set {2, 3} // 差集 let difference = new Set([...a].filter(x => !b.has(x))); // Set {1}Map
JavaScript 的對象(Object),本質上是鍵值對的集合(Hash 結構),但是傳統上只能用字符串當作鍵。ES6中的Map結構也是鍵值對的集合,但是“鍵”的范圍不限于字符串,各種類型的值(包括對象)都可以當作鍵。
用法:new Map([iterable])
const map = new Map();
屬性和方法
size:返回成員總數。
set(key, value):添加鍵值對到映射中
get(key):獲取映射中某一個鍵的對應值
delete(key):將某一鍵值對移除出映射中
clear():清空映射中所有的鍵值對
entries():返回一個以二元數組(鍵值對)作為元素的數組
has(key):檢查映射中是否包含某一鍵值對
keys():返回一個一當前映射中所有鍵作為元素的可迭代對象
values():返回一個一當前映射中所有值作為元素的可迭代對象
const map = new Map(); //添加鍵值對 map.set(1, "aaa"); map.set(2, "bbb").set("string", "sssss"); map.get(1); // "aaa" map.size; // 3 //刪除鍵值 map.delete(2); map.has(2); //false //遍歷方法 for(let key of map.keys()){ console.log(key); } // 1 // "string" for(let key of map.values()){ console.log(key); } // "aaa" // "sssss" map.forEach(function(value, key, map){ console.log("key:"+key+", value:"+value) }) // "key:1, value:aaa" // "key:string, value:sssss"
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95494.html
摘要:學習筆記工作中常用到的語法只是簡單提及和,今天有空于是寫了這篇文章深入理解中的和數據結構,與其它數據結構的互相轉換。的提供了新的數據結構。本身是一個構造函數,用來生成數據結構。 文中的內容主要是來自于阮一峰的《ES6標準入門》(第三版)。《學習ES6筆記──工作中常用到的ES6語法》只是簡單提及Set和Map,今天有空于是寫了這篇文章──《深入理解:ES6中的Set和Map數據結構,M...
摘要:創建并添加項目可以使用數組來初始化一個,并且構造器會確保不重復地使用這些值使用方法來測試某個值是否存在于中移除值使用方法來移除單個值,或調用方法來將所有值從中移除。屬性的初始化將數組傳遞給構造器,以便使用數據來初始化一個。 主要知識點:Set的基本操作,Weak Set,Map的基本操作,Weak MapshowImg(https://segmentfault.com/img/bVbf...
摘要:引入的數據結構新加入的數據類型有這些數據結構的支持并不廣泛,在寫這篇文章的時候。是或其他可枚舉的對象,其每個元素是的元數組。開頭的和不對持有引用,不影響。因此,他們沒有辦法對自身的進行直接的枚舉。目前新版的和支持。 原文:http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_data_types.html 源代...
摘要:返回一個布爾值,表示該值是否為的成員。返回鍵名的遍歷器返回鍵值的遍歷器返回鍵值對的遍歷器使用回調函數遍歷每個成員需要特別指出的是,的遍歷順序就是插入順序。該數組的所有成員,都會自動成為實例對象的成員。這意味著,數組的成員只能是對象。 1.Set ES6 提供了新的數據結構 Set。它類似于數組,但是成員的值都是唯一的,沒有重復的值。Set 本身是一個構造函數,用來生成 Set 數據結構...
摘要:我對數據結構的學習最近在上做了一道題目,嗯,我這個渣渣沒有做出來,然后看了別人的解決方案,是時候學習一下的了。。。。。讀取對應的鍵值,如果找不到返回鍵是函數返回一個布爾值,表示某個鍵是否在數據結構中。 我對ES6數據結構Map的學習 最近在CodeWars上做了一道題目,嗯,我這個渣渣沒有做出來,然后看了別人的解決方案,Map??? 是時候學習一下ES6的Map了。。。。。 以下是原題...
閱讀 3873·2021-09-23 11:51
閱讀 3064·2021-09-22 15:59
閱讀 862·2021-09-09 11:37
閱讀 2068·2021-09-08 09:45
閱讀 1266·2019-08-30 15:54
閱讀 2061·2019-08-30 15:53
閱讀 491·2019-08-29 12:12
閱讀 3286·2019-08-29 11:15