成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Set方法

Loong_T / 3308人閱讀

摘要:返回一個布爾值,表示該值是否為的成員。注意被加入了兩次方法可以將結構轉為數(shù)組。數(shù)組去重的函數(shù)遍歷的方法返回鍵名的遍歷器返回鍵值的遍歷器返回鍵值對的遍歷器使用回調函數(shù)遍歷每個成員需要特別指出的是,的遍歷順序就是插入順序。

新增加的數(shù)據(jù)類型 類似于數(shù)組 但是和數(shù)組不同的地方就是 里面不會存在相同的值,在里面 NaN都只能出現(xiàn)一個,但是里面有一個問題,就是引用類型的值是不會相等的

    let set = new Set();

    set.add({});
    set.size // 1
    
    set.add({});
    set.size // 2
如何使用
    let set = new Set();
參數(shù)(數(shù)組 或者 具有 iterator接口的其他數(shù)據(jù))
    // 例一
const set = new Set([1, 2, 3, 4, 4]);
[...set]
// [1, 2, 3, 4]

// 例二
const items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);
items.size // 5

// 例三
const set = new Set(document.querySelectorAll("div"));
set.size // 56

// 類似于
const set = new Set();
document
 .querySelectorAll("div")
 .forEach(div => set.add(div));
set.size // 56
特殊的應用 數(shù)組去重
[...new Set(array)]
全部的api 增加 刪除 查找 清除 (沒得修改)
Set.prototype.constructor:構造函數(shù),默認就是Set函數(shù)。
Set.prototype.size:返回Set實例的成員總數(shù)。
add(value):添加某個值,返回 Set 結構本身。
delete(value):刪除某個值,返回一個布爾值,表示刪除是否成功。
has(value):返回一個布爾值,表示該值是否為Set的成員。
clear():清除所有成員,沒有返回值。
    s.add(1).add(2).add(2);
    // 注意2被加入了兩次

    s.size // 2
    
    s.has(1) // true
    s.has(2) // true
    s.has(3) // false
    
    s.delete(2);
    s.has(2) // false
Array.from方法可以將 Set 結構轉為數(shù)組。
const items = new Set([1, 2, 3, 4, 5]);
const array = Array.from(items);

// 數(shù)組去重的函數(shù)
function dedupe(array) {
  return Array.from(new Set(array));
}

遍歷的方法

keys():返回鍵名的遍歷器
values():返回鍵值的遍歷器
entries():返回鍵值對的遍歷器
forEach():使用回調函數(shù)遍歷每個成員

需要特別指出的是,Set的遍歷順序就是插入順序。這個特性有時非常有用,比如使用 Set 保存一個回調函數(shù)列表,調用時就能保證按照添加順序調用。

set = new Set([1, 4, 9]);
set.forEach((value, key) => console.log(key + " : " + value))
// 1 : 1
// 4 : 4
// 9 : 9
我們可以簡介使用數(shù)組的方法 先轉換為數(shù)組 利用 Array.from()或者 [...] 解構賦值
let set = new Set([1, 2, 3]);
set = new Set([...set].map(x => x * 2));
// 返回Set結構:{2, 4, 6}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/94193.html

相關文章

  • Set和Map數(shù)據(jù)結構。

    摘要:本身是一個構造函數(shù),用來生成數(shù)據(jù)結構。該數(shù)組的成員是一個個表示鍵值對的數(shù)組。張三張三事實上,不僅僅是數(shù)組,任何具有接口每個成員都是一個雙元素的數(shù)組的數(shù)據(jù)結構都剋以當作構造函數(shù)的參數(shù)。實例的屬性和操作方法屬性屬性返回結構的成員總數(shù)。 ES6提供了新的數(shù)據(jù)結構Set,它類似與數(shù)組,但是成員值都是唯一的,沒有重復的值。 Set本身是一個構造函數(shù),用來生成Set數(shù)據(jù)結構。 const s = ...

    lixiang 評論0 收藏0
  • es6 Set和WeakSet

    摘要:返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。上面代碼中,方法返回的遍歷器,同時包括鍵名和鍵值,所以每次輸出一個數(shù)組,它的兩個成員完全相等。因此,適合臨時存放一組對象,以及存放跟對象綁定的信息。 Js大部分歷史時期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導致數(shù)組也經常被當作隊列與棧來使用。數(shù)組只使用了數(shù)值...

    marser 評論0 收藏0
  • es6 Map和set

    摘要:返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。該數(shù)組中的每一項也必須是數(shù)組,內部數(shù)組的首個項會作為鍵,第二項則為對應值。返回所有成員的遍歷器需要特別注意的是,的遍歷順序就是插入順序。 Js大部分歷史時期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導致數(shù)組也經常被當作隊列與棧來使用。數(shù)組只使用了數(shù)值型的索引,而...

    superPershing 評論0 收藏0
  • 【ES6腳丫系列】Set+WeakSet+Map+WeakMap

    摘要:返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。返回的都是遍歷器對象。結構的實例的方法,用于對每個成員執(zhí)行某種操作,沒有返回值。這個特點意味著,無法引用的成員,因此是不可遍歷的。數(shù)組成員是一個或多個表示鍵值對的一維數(shù)組。 本文字數(shù):4700+,閱讀時間約10分鐘。 如果有理解不到位的地方,歡迎大家糾錯。 一、Set 【01】Set是一種數(shù)據(jù)結構。類似于數(shù)組,但是成員的值...

    lyning 評論0 收藏0
  • ES6系列---Set集合與Map集合

    摘要:中模擬與長久以來,數(shù)組一直是中唯一的集合類型。用數(shù)組初始化集合事實上,只要是可迭代對象數(shù)組集合集合,都可以作為構造函數(shù)的參數(shù)。構造函數(shù)通過迭代器從參數(shù)中提取值。 ES5中模擬Set與Map 長久以來,數(shù)組一直是JavaScript中唯一的集合類型。如果開發(fā)者們需要使用非數(shù)值型索引,就會用非數(shù)組對象創(chuàng)建所需的數(shù)據(jù)結構,而這就是Set集合與Map集合的早期實現(xiàn)。 一般來說,Set集合常被用...

    happyhuangjinjin 評論0 收藏0
  • 細說es6中的Set和Map

    摘要:返回一個布爾值,表示該值是否為的成員。返回鍵名的遍歷器返回鍵值的遍歷器返回鍵值對的遍歷器使用回調函數(shù)遍歷每個成員需要特別指出的是,的遍歷順序就是插入順序。該數(shù)組的所有成員,都會自動成為實例對象的成員。這意味著,數(shù)組的成員只能是對象。 1.Set ES6 提供了新的數(shù)據(jù)結構 Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復的值。Set 本身是一個構造函數(shù),用來生成 Set 數(shù)據(jù)結構...

    Ryan_Li 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<