js数组去重常见的方法汇总(7种)

下面我将详细讲解“js数组去重常见的方法汇总(7种)”。

一、引言

在JavaScript的实际开发中,经常会遇到需要对数组进行去重操作的情况。而JavaScript提供了多种方法来进行数组去重操作,下面将详细介绍七种常见的方法。

二、使用Set

Set是ES6新引入的一种集合数据类型,它可以存储任意类型的唯一值。使用Set可以很方便地实现数组去重,只需要将数组转化成Set对象,然后再转化回数组即可。

示例代码如下:

let arr = [1, 2, 3, 2, 1];
let set = new Set(arr); //创建Set
let newArr = Array.from(set); //将Set转为数组

console.log(newArr); //输出[1, 2, 3]

三、使用indexOf

利用indexOf方法来判断一个元素在数组中是否存在,可以很方便地实现数组去重。

示例代码如下:

let arr = [1, 2, 3, 2, 1];
let newArr = [];

for(let i = 0; i < arr.length; i++){
    if(newArr.indexOf(arr[i]) === -1){
        newArr.push(arr[i]);
    }
}

console.log(newArr); //输出[1, 2, 3]

四、使用includes

includes方法是ES7引入的新方法,用来判断一个数组是否包含某个元素。利用它也可以实现数组去重。

示例代码如下:

let arr = [1, 2, 3, 2, 1];
let newArr = [];

for(let i = 0; i < arr.length; i++){
    if(!newArr.includes(arr[i])){
        newArr.push(arr[i]);
    }
}

console.log(newArr); //输出[1, 2, 3]

五、使用filter

使用filter可以很方便地筛选出数组中符合条件的元素,利用这一特性也可以实现数组去重。

示例代码如下:

let arr = [1, 2, 3, 2, 1];
let newArr = arr.filter((item, index) => {
    return arr.indexOf(item) === index;
});

console.log(newArr); //输出[1, 2, 3]

六、使用reduce

使用reduce可以很方便地将数组中的元素逐个累加,并返回一个值。结合indexOf方法也可以实现数组去重。

示例代码如下:

let arr = [1, 2, 3, 2, 1];
let newArr = arr.reduce((prev, cur) => {
    if(prev.indexOf(cur) === -1){
        prev.push(cur);
    }
    return prev;
}, []);

console.log(newArr); //输出[1, 2, 3]

七、使用Map

Map也可以用来实现数组去重,它类似于Set,但是可以自定义键值对,因此更加灵活。

示例代码如下:

let arr = [1, 2, 3, 2, 1];
let map = new Map();
let newArr = [];

for(let i = 0; i < arr.length; i++){
    if(!map.has(arr[i])){
        map.set(arr[i], true);
        newArr.push(arr[i]);
    }
}

console.log(newArr); //输出[1, 2, 3]

结束语

以上便是js数组去重常见的七种方法汇总。在实际开发中,我们可以根据具体业务需求和数组长度等因素来选择适合的去重方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js数组去重常见的方法汇总(7种) - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 解析php防止form重复提交的方法

    下面是解析PHP防止form重复提交的方法的完整攻略: 什么是防止form重复提交? 表单重复提交的情况在Web应用程序中很常见,这可能会导致应用程序的各种问题,例如重复表单提交对数据库的写入,导致数据重复或错误。这是一种不良的用户体验,可能会使用户失去对应用程序的信任感。为了避免这种情况,开发人员已经产生了一些技术来防止表单重复提交,这是Web应用程序设计…

    JavaScript 2023年6月11日
    00
  • js中函数调用的两种常用方法使用介绍

    JS中函数调用的两种常用方法是函数声明与函数表达式,下面我将对这两种方法进行介绍和举例子说明。 1. 函数声明 函数声明的形式如下: function functionName(parameters) { //函数体 } 其中,functionName 是函数名,parameters 是参数列表,函数体里面可以写任何合法的 JS 代码。函数声明完之后,我们可…

    JavaScript 2023年5月27日
    00
  • Javascript中的Split使用方法与技巧

    Javascript中的Split使用方法与技巧 Split函数是Javascript中的常用字符串处理函数,其作用是将一个字符串按照指定的分隔符分割为数组。这个函数在表单验证、信息提取、URL处理等方面都有广泛的应用。接下来,我们将详细讲解Javascript中的Split使用方法与技巧。 语法 split函数有一个基本的语法格式: stringObjec…

    JavaScript 2023年5月28日
    00
  • javascript 打印内容方法小结

    下面是关于“JavaScript 打印内容方法小结”的详细攻略。 一. JavaScript中的console.log() console.log()是JavaScript中最常用的输出方法,可以在控制台中打印内容。以下是使用console.log()打印的示例代码: console.log("Hello, world!"); // 打印…

    JavaScript 2023年5月28日
    00
  • es6函数之箭头函数用法实例详解

    关于es6函数之箭头函数用法实例详解,我来为你进行详细的讲解。 什么是箭头函数? 箭头函数是ES6中新增的一个函数语法,它是一个匿名函数,语法比传统函数更加简洁。箭头函数的定义方式如下: // 无参箭头函数 () => {} // 有参箭头函数 (arg1, arg2) => {} // 带表达式的箭头函数 (arg1, arg2) => …

    JavaScript 2023年5月27日
    00
  • JavaScript生成二维码图片小结

    使用JavaScript生成二维码图片可以方便地分享一些跨平台内容,比如网址、联系方式、文本等等。下面是一个详细的攻略: 安装qrcode库 在使用JavaScript生成二维码图片之前,我们需要先安装相应的库。这里我们使用qrcode库,它可以非常方便地生成二维码图片。在命令行中输入以下命令进行安装: npm install qrcode –save 导…

    JavaScript 2023年6月10日
    00
  • jquery validate添加自定义验证规则(验证邮箱 邮政编码)

    以下是关于jquery validate添加自定义验证规则的完整攻略。 什么是jquery validate? jQuery validate是一个基于jQuery的表单验证插件,它可以对表单中的各类数据进行校验,从而帮助我们减少了客户端数据校验的代码量,提高了开发效率。 如何添加自定义验证规则? jquery validate插件提供了丰富的内置验证规则,…

    JavaScript 2023年6月10日
    00
  • JavaScript生成带有缩进的表格代码

    当我们需要在网页上展示表格数据时,生成带有缩进的表格代码可以使代码结构更加清晰、易于阅读。下面是生成带有缩进的表格代码的步骤: 1. 准备数据 首先需要准备数据,可以是从后台服务器获取到的数据,也可以是通过JS数组手动创建的数据。例如,下面是一个JS数组: // 示例数据 var data = [ { name: ‘张三’, age: 28, address…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部