set實現陣列去重

2022-05-15 12:33:13 字數 2067 閱讀 1952

es6中新增了set資料結構,類似於陣列,但是它的成員都是唯一的,其建構函式可以接受乙個陣列作為引數,如:

let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];

let set = new set(array);

console.log(set);

// => set

es6中array新增了乙個靜態方法array.from,可以把類似陣列的物件轉換為陣列,如通過queryselectall方法得到html dom node list,以及es6中新增的setmap等可遍歷物件,如:

let set = new set();

set.add(1).add(2).add(3);

let array = array.from(set);

console.log(array);

// => [1, 2, 3]

於是,現在我們可以用一行**實現陣列去重了:

let array = array.from(new set([1, 1, 1, 2, 3, 2, 4]));

console.log(array);

// => [1, 2, 3, 4]

附:es5實現陣列去重

var array = [1, '1', 1, 2, 3, 2, 4];

var tmpobj = {};

var result = ;

array.foreach(function(a)

});console.log(result);

// => [1, "1", 2, 3, 4]

**

es6中新增了set資料結構,類似於陣列,但是它的成員都是唯一的,其建構函式可以接受乙個陣列作為引數,如:

let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];

let set = new set(array);

console.log(set);

// => set

es6中array新增了乙個靜態方法array.from,可以把類似陣列的物件轉換為陣列,如通過queryselectall方法得到html dom node list,以及es6中新增的setmap等可遍歷物件,如:

let set = new set();

set.add(1).add(2).add(3);

let array = array.from(set);

console.log(array);

// => [1, 2, 3]

於是,現在我們可以用一行**實現陣列去重了:

let array = array.from(new set([1, 1, 1, 2, 3, 2, 4]));

console.log(array);

// => [1, 2, 3, 4]

附:es5實現陣列去重

var array = [1, '1', 1, 2, 3, 2, 4];

var tmpobj = {};

var result = ;

array.foreach(function(a)

});console.log(result);

// => [1, "1", 2, 3, 4]

**

Set實現陣列去重

es6 提供了新的資料結構 set 它類似於陣列,但是成員的值都是唯一的,沒有重複的值 set本身是乙個建構函式,用來生成 set 資料結構 使用set實現陣列去重要簡單很多。第一種陣列去重方法 使用array.from let arr 12,43,23,43,68,12 let item new ...

陣列去重 Set

常見的陣列去重方法大多考慮遍歷 indexof,例如 var arr1 1 2,3 4,5 6,6 6 function unique arr return newarr unique arr1 1,2,3,4,5,6 但是es6引入了新的資料結構set,可以直接實現陣列去重 甚至也可以用於字串去重...

利用set實現去重

var arr 1,2,1,3,2,4,5,1,3 var setarr new set arr var newarr setarr.foreach function e console.log newarr set是es6裡新提出的乙個集合的概念,類似於陣列arr,同樣不只是數字型別,其他型別的資...