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中新增的set
和map
等可遍歷物件,如:
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中新增的set
和map
等可遍歷物件,如:
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,同樣不只是數字型別,其他型別的資...