数组去重合并

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);  //没有去重复的新数组
    return Array.from(new Set(arr));
}

let m = [1, 2, 2], n = [2, 3, 3];
console.log(combine(m, n)); // [1, 2, 3]

猜你喜欢

转载自www.cnblogs.com/codebook/p/10549577.html