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...