数组去重合并
1.数组去重的传统方法:
function unique(arr) { var newArr = [arr[0]]; for (var i = 1; i < arr.length; i++) { if (newArr.indexOf(arr[i]) === -1) { newArr.push(arr[i]); } } return newArr; } console.log(unique([2, 3, 3, 4, 4, 8])); // [2, 3, 4, 8]
2.es6实现数组去重
Array.from() 方法从一个类似数组或可迭代对象中创建一个新的数组实例。
Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。
function unique(arr) { return Array.from(new Set(arr)); } console.log(unique([2, 3, 3, 4, 4, 8])); // [2, 3, 4, 8]
3.es6数组合并去重
function combine() { let arr = [].concat.apply([], arguments); //没有去重复的新数组 // let arr = [].concat(...arguments); // 这样也行 return Array.from(new Set(arr)); } let m = [1, 2, 2], n = [2, 3, 3]; console.log(combine(m, n)); // [1, 2, 3]