Set 使用場景及分析

2021-10-10 02:02:53 字數 1500 閱讀 5651

1、set 使用 陣列去重,如下所示:

// 例一

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

// 去除陣列的重複成員

[...new set(array)]

// 去除字串裡面的重複字元

[...new set('ababbc')].join('')

// "abc"

2、set 結構的例項有以下屬性。

set 例項的方法分為兩大類:操作方法(用於運算元據)和遍歷方法(用於遍歷成員)。下面先介紹四個操作方法。

3、array.from方法可以將 set 結構轉為陣列。

const items = new set([1, 2, 3, 4, 5]);

const array = array.from(items);

這就提供了去除陣列重複成員的另一種方法。

function dedupe(array) 

dedupe([1, 1, 2, 3]) // [1, 2, 3]

4、直接用for...of迴圈遍歷 set。

let set = new set(['red', 'green', 'blue']);

for (let x of set)

5、foreach方法,用於對每個成員執行某種操作,沒有返回值。

let set = new set([1, 4, 9]);

set.foreach((value, key) => console.log(key + ' : ' + value))

// 1 : 1

// 4 : 4

// 9 : 9

上面**說明:foreach方法的引數就是乙個處理函式。

該函式的引數與陣列的foreach一致,依次為鍵值、鍵名、集合本身(上例省略了該引數)。這裡需要注意,set 結構的鍵名就是鍵值(兩者是同乙個值),因此第乙個引數與第二個引數的值永遠都是一樣的。

另外,foreach方法還可以有第二個引數,表示繫結處理函式內部的this物件。

6、擴充套件運算子[...]和 set 結構相結合,就可以去除陣列的重複成員。

let arr = [3, 5, 2, 2, 5, 5];

let unique = [...new set(arr)];

// [3, 5, 2]

以上內容原於參考 es6 基礎語法,僅供參考!

mysql json函式使用場景分析

官方文件 軟體版本 mysql5.7 從5.7開始,mysql提供了一些查詢 操作的json函式,這些函式不僅僅可作用於json型別的字段,而且能支援text型別,只要保證是json字串。只是如果text欄位中含有不是json格式的字串,mysql就直接報錯,直接異常反饋是專案中接受不了的,另一方面...

Try Catch機制使用場景分析

一 在什麼場景下加try catch機制 1 以業務邏輯功能為單位,在最上層加try catch機制。為什麼要這樣做呢?這主要是增加程式的健壯性,防止因丟擲異常過多,導致程式崩潰。view source print 01 try 02 06 catch exception ex 07 2 底層 在可...

git subtree詳解及使用場景

使用場景 1.gitlab github上已有兩個專案,分別是project web project mobile 2.現在需要將兩個專案合併在乙個專案裡project 3.新專案project裡包含兩個檔案,分別是web和mobile 操作步驟 1.gitlab github上新建專案projec...