0
点赞
收藏
分享

微信扫一扫

《前端面试题》- 编程题-数组去重

编写一个函数实现在原数组上去重功能(去除数组中的重复元素)

方法一:

新建一个新的数组,将原数组的数据逐条添加进去,添加之前判断相同元素没有被添加才会被添加。
缺点:对象构成的数组无法判断。

function distinct (arr) {
    let newArr = [];
    for (const ele of arr) {
        if (!newArr.find(x => x === ele)) { 
            newArr.push(ele);
         } 
    }
    return newArr;
}

const arr1 = [ 1,2,3,4,5,6,1,2,3 ];
console.log(distinct(arr1));
// 输出
// [ 1, 2, 3, 4, 5, 6 ]

const arr2 = ['a', 'b', 'c', 'd', 'a', 'c'];
console.log(distinct(arr2));
// 输出
// [ 'a', 'b', 'c', 'd' ]

const arr3 = [ {name:'zzh', age: 18},  {name:'zzh', age: 18}]
console.log(distinct(arr3));
// 输出
// [ { name: 'zzh', age: 18 }, { name: 'zzh', age: 18 } ]
举报

相关推荐

0 条评论