数组去重--ES5和ES6

时间:2019-04-20
本文章向大家介绍数组去重--ES5和ES6,主要包括数组去重--ES5和ES6使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

思路:把去重后的数组放到一个空数组中

ES5实现:

function uni(arr) {
    var result = [];
    for (var i=0;i<arr.length;i++) {
        if(result.indexOf(arr[i])==-1) {
            result.push(arr[i]);
        }
    }
    return result;
}
var obj = new uni([1,1,1,1,3,4,5]);
console.log(obj);

ES6实现:

function removal(arr) {
    return Array.from(new Set(arr));
}
var obj = new removal([1,2,3,3,3,3,8,6,4,3]);
console.log(obj);

在此基础上,要求合并数组并去重也很简单了

Es5:

let arr1 = [1,2,3,4]
let arr2 = [3,4,5,6]
function uni(arr1,arr2) {
    var arr3 = arr1.concat(arr2)
    var arr4 = []
    var len = arr3.length
    for(var i=0;i<len;i++) {
        if (arr4.indexOf(arr3[i]) === -1) {
            arr4.push(arr3[i])
        }
    }return arr4
}
console.log(uni(arr1,arr2))

Es6:

let arr1 = [1,2,3,4]
let arr2 = [3,4,5,6]
function uni(arr1,arr2){
    arr1.push(...arr2)
    let arr3 = Array.from(new Set(arr1))
    console.log(arr3)
}
uni(arr1,arr2)