ES6合并两个数组并去重

12,171 阅读1分钟

实现方法:

let arr1 = [1, 2, 3, 4, 5, 6];

let arr2 = [2, 4, 6, 7, 8];

let arr3 = Array.from(new Set([...arr1, ...arr2])); 

延展 ES6 Set 

Set类似于数组,但是他的成员值时唯一,不重复的。

 let set = new Set([1,2,2,3,3,4]);

//结果 Set(4) {1, 2, 3, 4} 

Set的操作方法 

add(value):添加某个值,并返回Set结构本事。 

 delete(value):删除某个值。 

 has(value):返回布尔值,标识是否为Set的成员 

 clear():清除所有成员 

 set.add('1').add('a');

set.has(1); //true

set.has('1'); //true

set.has('a'); //true

set.delete('1');

set.clear(); 

 Array.from可以将Set结构转为数组,如此可以实现数组去重 

 ler arr = Array.from(set); 

Set的遍历方法 

keys():返回所有键名 

values():返回所有键值 

 entries():返回所有键值对 

 forEach():回调函数遍历 

keys方法、values方法、entries方法返回的都是遍历器对象。由于Set结构没有键名,只有键值(也就是键名和键值是同一个值),所以key方法和value方法的行为完全一致。 

set.values();   //1, 2, 3, 4

set.keys();  //1, 2, 3, 4

set.entries();  //0: {1 => 1}1: {2 => 2}2: {3 => 3}3: {4 => 4}

set.forEach((item)=>console.log(item));