new Set 去重的方法

2022-03-08 20:36:55 字數 1470 閱讀 7285

在 es6 中,引入了乙個新的資料結構型別:set。而 set 與 array 的結構是很類似的,且 set 和 array 可以相互進行轉換。

set 物件允許你儲存任何型別的唯一值(set 物件儲存的值總是唯一的),無論是原始值或者是物件引用。

...es6擴充套件運算子

方法

描述add

新增某個值,返回set物件本身。

clear

刪除所有的鍵/值對,沒有返回值。

delete

刪除某個鍵,返回true。如果刪除失敗,返回false。

foreach

對每個元素執行指定操作。

has返回乙個布林值,表示某個鍵是否在當前 set 物件之中。

es6 的去重:

// 運算元組

var arr = [1, 2, 3, 3, 1, 4];

array.from(new set(arr)); // [1, 2, 3, 4]

[...new set(arr)]; // [1, 2, 3, 4]

// 操作字串

new set('ice doughnut'); // set(11)

[...new set('ababbc')].join(''); // "abc" 字串去重

並集
並集:以屬於a或屬於b的元素為元素的集合成為a與b的並(集)

var a = new set([1, 2, 3]);

var b = new set([4, 3, 2]);

var union = new set([...a, ...b]); //

交集
交集: 以屬於a且屬於b的元素為元素的集合成為a與b的交(集)

var a = new set([1, 2, 3]);

var b = new set([4, 3, 2]);

var intersect = new set([...a].filter(x => b.has(x))); //

差集
差集:以屬於a而不屬於b的元素為元素的集合成為a與b的差(集)

var a = new set([1, 2, 3]);

var b = new set([4, 3, 2]);

var difference = new set([...a].filter(x => !b.has(x))); //

去重 物件陣列
const ary = [, , , ];

const myseta = (ary) => ;

console.log(myseta(ary)); // [, , ]

new Set 陣列去重

new set 用來去重陣列。set類似於陣列,區別在於它所有的成員都是唯一的,不能有重複的值 數值去重 let arr 1,2,2,3 1,2,2,3 let set new set arr 去掉重複資料,返回結果是 set let newarr array.from set 將set轉化為陣列 ...

陣列去重的方法

我總共想出了三種演算法來實現這個目的 array.prototype.unique1 function return n array.prototype.unique2 function r n為hash表,r為臨時陣列 for var i 0 i this.length i 遍歷當前陣列 retu...

陣列去重的方法

1.第一種方法 有乙個需要去掉重複元素的陣列arr,定義乙個新陣列res,迴圈遍歷arr陣列中的每乙個元素,看res中是否存在,如果不存在,則push進去 function repeat arr repeat 1,3,5,7,9,12,15,21,34 2.利用物件屬性去重 每次迴圈取出原陣列的元素...