首页 博客 文档 标签 归档 分类 示例文章 更新记录
javascript数组去重常用函数 - SasSPro | 优秀的 Emlog 文档展示模板 | 高效管理与展示解决方案
首页 博客 文档 标签 归档 分类 示例文章 更新记录

javascript数组去重常用函数

2020-09-01 · 管理员 · 阅读 3739

JavaScript中数组去重的几种方法如下, 这几个函数都可以对简单的一维数组进行去除重复的操作。

注意:请注意数据类型,比如字符串的1和数组1是不一样的,不算重复

一、利用数组的indexOf方法去重 (ES5)

原理:array.indexOf(item, start) 返回数组array中指定元素item的位置,没有则返回-1

var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2];

function unique(arr) {
    var len = arr.length;
    var temp = [];       // 新建一个数组来存放arr中的值
    for (var i = 0; i < len; i++) {
        if(temp.indexOf(arr[i]) === -1){
        temp.push(arr[i]);
    }
    }
    return temp;
}

// [1, 3, 8, 9, 5, 4, 6, 2]
console.log(unique(arr));

二、使用ES6中的 Set 方法去重

原理:ES6 提供了新的数据结构 Set。它似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。


var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2];

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

// [1, 3, 8, 9, 5, 4, 6, 2]
console.log(unique(arr));

三、使用ES6中数组的includes 方法去重

原理:ES6 给数组提供了includes方法,判断元素是否在该数组中存在,类似indexOf判断

var arr = [1, 3, 8, 9, 3, 5, 4, 4, 6, 6, 2];

function unique(arr) {
    var len = arr.length;
    var temp = [];       // 新建一个数组来存放arr中的值
    for (var i = 0; i < len; i++) {
        if(!temp.includes(arr[i])){
            temp.push(arr[i]);
        }
    }
    return temp;
}

// [1, 3, 8, 9, 5, 4, 6, 2]
console.log(unique(arr));


上一篇 javascript获取文件名的后缀 下一篇 Axel-适用于Linux/macOS的多线程下载工具
管理员

emlog模版beginning开发者

评论交流 (0)

暂无评论,来坐第一个沙发吧~

发表评论