自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript 中的七個(gè)新 Set 方法:`union()`、`intersection()`,以及其他五個(gè)

開發(fā) 前端
Set 從 ES6 就已經(jīng)存在了,但通常它們只是用來確保列表中沒有重復(fù)項(xiàng)。然而,隨著這7個(gè)即將推出的內(nèi)置 Set 方法,我們可能會(huì)發(fā)現(xiàn)自己更加頻繁地使用它們。

我們坦誠(chéng)一點(diǎn):你可能對(duì) Set 并不怎么關(guān)心!至少直到現(xiàn)在……

Set 從 ES6 就已經(jīng)存在了,但通常它們只是用來確保列表中沒有重復(fù)項(xiàng)。

然而,隨著這7個(gè)即將推出的內(nèi)置 Set 方法,我們可能會(huì)發(fā)現(xiàn)自己更加頻繁地使用它們。

1. union()

Set 的新方法 union() 為我們提供了兩個(gè)集合中所有唯一的元素。

并且由于它是不可變的并返回副本,你可以無限鏈?zhǔn)秸{(diào)用它:

const setA = new Set([1, 2, 3]);
const setB = new Set([3, 4, 5]);

const unionSet = setA.union(setB); // Set {1, 2, 3, 4, 5}

2. intersection()

哪些元素同時(shí)存在于兩個(gè)集合中?

const setA = new Set([1, 2, 3]);
const setB = new Set([2, 3, 4]);

const intersectionSet = setA.intersection(setB); // Set {2, 3}

3. difference()

difference() 方法執(zhí)行 A - B,返回集合 A 中不在集合 B 中的所有元素:

const setA = new Set([1, 2, 3]);
const setB = new Set([2, 3, 4]);

const differenceSet = setA.difference(setB); // Set {1}

4. symmetricDifference()

正如 symmetric 所暗示的那樣,此方法雙向獲取集合差集。即 (A — B) U (B — A)。

所有只存在于其中一個(gè)集合中的元素:

const setA = new Set([1, 2, 3]);
const setB = new Set([3, 4, 5]);

const symmetricDifferenceSet = setA.symmetricDifference(setB); // Set {1, 2, 4, 5}

5. isSubsetOf()

其目的很明確:檢查一個(gè)集合的所有元素是否都在另一個(gè)集合中。

const setA = new Set([1, 2]);
const setB = new Set([1, 2, 3]);

const isSubset = setA.isSubsetOf(setB); // true

6. isSupersetOf()

檢查一個(gè)集合是否包含另一個(gè)集合中的所有元素:這與 isSubsetOf() 中交換兩個(gè)集合的作用相同:

const setA = new Set([1, 2, 3]);
const setB = new Set([1, 2]);

const isSuperset = setA.isSupersetOf(setB); // true

7. isDisjointFrom()

這些集合是否沒有任何共同元素?

const setA = new Set([1, 2, 3]);
const setB = new Set([4, 5, 6]);

const isDisjoint = setA.isDisjointFrom(setB); // true

現(xiàn)在就使用它們

通過 core-js polyfills:

npm install core-js

圖片圖片

圖片圖片

否則你可能會(huì)在 TypeScript 和 Node.js 中遇到錯(cuò)誤——因?yàn)樗鼈兩形幢徽郊{入 JavaScript 標(biāo)準(zhǔn)。

圖片圖片

圖片圖片

總結(jié)

圖片圖片

以上就是我們介紹的 7 個(gè)新 Set 方法——再也不需要第三方庫(如 Lodash 的 _.intersection())了!

責(zé)任編輯:武曉燕 來源: 大遷世界
相關(guān)推薦

2016-02-23 09:23:50

swift陷阱解決方法

2018-11-01 10:37:01

2024-01-31 12:13:02

JavaScriptSet元素

2024-03-21 14:27:13

JavaScript數(shù)組

2022-10-08 23:46:47

JavaScript對(duì)象開發(fā)

2024-09-10 08:35:57

2024-07-23 08:59:17

Set開發(fā)前端

2023-09-07 16:28:46

JavaScrip

2024-11-27 08:28:37

2024-05-24 12:06:26

SQL數(shù)據(jù)庫

2025-01-17 00:00:00

JavaFeign客戶端

2023-03-24 07:30:53

JavaScript項(xiàng)目元框架

2025-02-19 12:00:00

JavaScript代碼數(shù)組方法

2021-09-03 10:08:53

JavaScript開發(fā) 代碼

2024-08-30 14:29:03

2022-02-13 17:11:19

GNOME 42系統(tǒng)UI

2022-07-29 08:48:12

IT管理錯(cuò)誤CIO

2022-09-19 00:46:18

JavaScrip功能開發(fā)

2024-08-16 09:14:53

2020-12-15 11:05:21

JavascriptChrome瀏覽器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)