博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常见的几种数组去重的方法,总有一种适合你~
阅读量:7232 次
发布时间:2019-06-29

本文共 1286 字,大约阅读时间需要 4 分钟。

又到了一年一度的换工作的旺季,今天在这里整理了几种常见的数组去重的方法,希望能对求职或者工作中的你提供一点帮助~~

方法1:是代码量看起来最少最简洁的方法了,利用ES6的set方法来实现的。

function unique1(arr) {    return Array.from(new Set(arr))}

方法2: 双层for循环,利用slice方法截取重复的部分。

function unique2(arr) {    for(var i=0; i

方法3:利用indexOf去重

function unique3(arr) {    if( !Array.isArray(arr)) {        return 'type error';    }    var newArr = [];    for(var i =0; i

方法4: 先利用sort方法,对每个元素按照字符编码顺序进行排序,再比对前后是否重复

function unique4(arr) {    if(!Array.isArray(arr)) {        return 'type error';            }    arr = arr.sort();    let newArr = [arr[0]];    for( var i = 1; i

方法5: 利用对象属性不能重复的特点巧妙对数组进行去重

function unique5(arr) {    if(!Array.isArray(arr)) {        return 'type error';    }    let temp = {},        newArr = [],        len = arr.length;    for( let i = 0;i< len; i++) {        if(!temp[arr[i]]) {            temp[arr[i]] = 'aa';            newArr.push(arr[i]);        }    }    return newArr;}

方法6: 最后一种利用reduce方法逼格满满啊~~不熟悉此方法的小伙伴可以先了解下reduce的API。

function unique6(arr) {    if(!Array.isArray(arr)) {        return 'type error';    }    let newArr = arr.reduce((pre, cur) => {        if(!pre.includes(cur)) {            return pre.concat(cur)        } else {            return pre        }    }, [])    return newArr;}

 

转载于:https://www.cnblogs.com/linxing/p/10476637.html

你可能感兴趣的文章
一起学Android之ViewPager
查看>>
ajax方式提交表单数据并判断当前注册用户是否存在
查看>>
2017.10.23 Arduino Atmel EFM32低功耗监测
查看>>
poj2063
查看>>
poj1434
查看>>
Eclipse主题更改
查看>>
ubuntu刚安装好之后apt-get使用异常
查看>>
C++ vector的reserve和resize详解
查看>>
maven3常用命令、java项目搭建、web项目搭建
查看>>
BZOJ1023:[SHOI2008]仙人掌图——题解
查看>>
JavaBean简单及使用
查看>>
css3基本属性
查看>>
PEB结构学习
查看>>
python之属性描述符与属性查找规则
查看>>
linux之各目录作用
查看>>
海淀、西城、东城各类小学排名(转载)
查看>>
AbstractFactory抽象工厂模式(创建型模式)
查看>>
Flex3 + Spring配置
查看>>
Android牟利之道(四)--如何推广你的产品,即你的APP
查看>>
Android的各种Drawable讲解
查看>>