91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ES6中Set結構怎么用

發布時間:2021-08-17 14:18:32 來源:億速云 閱讀:106 作者:小新 欄目:web開發

這篇文章主要介紹了ES6中Set結構怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

Set 類似于數組,但是成員的值都是唯一的,沒有重復的值, 實現了iterator接口

set 的值不可重復,數組的值可以重復

let arr = [1,2,3,'5','5'];
let st = new Set(arr);
console.log(st); // 可以通過set來去除數組的重復的值,返回的是一個偽數組
console.log(st.size); // 4

set 的 add , delete, has, clear 方法

簡單的add 與 delete :

let st = new Set();
var u = {name:'Joh'};
st.add(u);
let bool = st.delete(u);
console.log(bool); // true;

連續add與has的api :

let st = new Set();
var u = {name:'Joh'};
var r = {name:'Lily'};
st.add(u).add(r);
let bool = st.delete(r);
console.log(bool); // true
console.log(st.has(r)); // false
console.log(st.has(u)); // true;

clear清空set集合

let st = new Set();
var u = {name:'Joh'};
var r = {name:'Lily'};
st.add(u).add(r);
st.clear();
console.log(st.size); // 0

通過Array.from方法把類似數組結構的模型轉化為數組

let arr = ['xxx', 'yyyy', 'yyyy'];
let newArr = Array.from(new Set(arr));
console.log(Array.isArray(newArr)); // true
console.log(newArr); // ["xxx", "yyyy"]

Set 原型上的Symbol.iterator 和 values 是同一個值, 可直接for-of遍歷

console.log(Set.prototype[Symbol.iterator] === Set.prototype.values); // true
let st = new Set(['xxx', 'yyyy', 'yyyy', 'John']);
for(let k of st) {
 console.log(k); // 依次輸出 xxx yyyy John 可以直接遍歷,兼容map的數據結構
}

set中的keys和values方法

let st = new Set(['xxx', 'yyyy', 'yyyy', 'John']);
console.log(st.size); // 3
let itKeys = st.keys();
for(let k of itKeys) {
   console.log(k); // 依次輸出 xxx yyyy John
}
console.log('>>>>>');
let itVals = st.values();
for(let v of itVals) {
   console.log(v); // 依次輸出 xxx yyyy John
}

set 的entries 實體對象,是個鍵和值的數組結構

let st = new Set(['xxx', 'yyyy', 'yyyy', 'John']);
let entriesIt = st.entries(); //
for(let v of entriesIt) {
 console.log(v); // 依次輸出 ["xxx", "xxx"] ["yyyy", "yyyy"] ["John", "John"]
}

關于NaN在set中的特殊性

let st = new Set();
console.log(NaN === NaN); // false , 此處 NaN 是不全等的,理應可以添加多個,不算重復,但是這里是個特例
st.add(NaN).add(NaN).add(NaN);
for(let v of st) {
 console.log(v); // 只輸出一個 NaN
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“ES6中Set結構怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

水富县| 盖州市| 偃师市| 河津市| 西林县| 浦江县| 石家庄市| 瓦房店市| 隆德县| 建宁县| 平罗县| 峡江县| 昂仁县| 乌兰浩特市| 喀喇| 密山市| 越西县| 扎鲁特旗| 炉霍县| 岗巴县| 奇台县| 苏尼特右旗| 清流县| 宁都县| 青阳县| 昭觉县| 龙川县| 麻栗坡县| 达州市| 错那县| 永川市| 益阳市| 祁东县| 保定市| 故城县| 梓潼县| 乌兰察布市| 巴青县| 临安市| 康定县| 得荣县|