JavaScript数组去重的几种方法详谈

当我们需要去除 JavaScript 数组中的重复元素时,可以采用以下几种方法:

方法1:使用 Set

首先我们可以利用 Set 去重,因为 Set 只存储不重复的值,可以将一个数组转换为 Set 集合,再将 Set 集合转换为数组,就可以实现去重。具体代码如下:

let arr = [1, 2, 3, 3, 4, 4, 5];
let set = new Set(arr);
let newArr = Array.from(set);
console.log(newArr); // [1, 2, 3, 4, 5]

在这段代码中,我们首先定义了一个包含重复元素的数组 arr,然后使用 new Set 方法将其转换为 Set 集合 set,最后使用 Array.from 方法将 Set 集合转换为数组 newArr,即可得到去重后的数组。

方法2:使用 indexOf

另一种简单易懂的方法是遍历数组,利用 indexOf 方法找到元素在数组中的位置,如果位置不等于当前遍历到的下标,则说明该元素已经重复出现,可以将其剔除。具体代码如下:

let arr = [1, 2, 3, 3, 4, 4, 5];
function unique(arr) {
    let newArr = [];
    for (let i = 0; i < arr.length; i++) {
        if (newArr.indexOf(arr[i]) === -1) {
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
console.log(unique(arr)); // [1, 2, 3, 4, 5]

在这段代码中,我们定义了一个名为 unique 的函数,该函数接受一个数组作为参数。在函数内部,我们定义了一个新数组 newArr,用于存储去重后的元素。然后我们遍历原数组 arr,如果当前元素在 newArr 中不存在,则将其添加到 newArr 中。

通过以上两种方法,我们可以轻松实现 JS 数组的去重,方便快捷地处理包含重复元素的数组数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript数组去重的几种方法详谈 - Python技术站

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

相关文章

  • java NIO 详解

    Java NIO 详解 Java NIO(New IO)是一种基于缓冲区、非阻塞IO的API集,主要用于替代传统的Java IO API。它可以更高效地处理IO数据,具有更好的扩展性和灵活性,尤其适用于处理大量连接和请求的场景。 在本文中,我们将从以下几个方面对Java NIO进行详细讲解: 缓冲区(Buffer)及其操作 通道(Channel)及其操作 选…

    JavaScript 2023年5月28日
    00
  • javascript 自定义常用方法第2/2页

    下面是对“javascript 自定义常用方法第2/2页”的完整攻略。 什么是“javascript 自定义常用方法”? 在前端开发时,我们会经常使用一些常用的函数和方法,比如获取URL参数、验证表单、限制文本输入等。为了方便我们的开发,我们可以将这些常用的函数和方法封装成自定义方法,以便在以后的开发中反复使用。 如何自定义常用方法? 以下是自定义常用方法的…

    JavaScript 2023年5月18日
    00
  • jsMind通过鼠标拖拽的方式调整节点位置

    以下是关于“jsMind通过鼠标拖拽的方式调整节点位置”的攻略: 步骤一:引入jsMind库 在页面上引入jsMind库,可以通过以下代码链接到jsMind库: <!–引入jsMind库 CSS文件–> <link rel="stylesheet" type="text/css" href=&qu…

    JavaScript 2023年6月11日
    00
  • xml转json的js代码

    XML转JSON是开发过程中常见的问题,有时候需要将后端返回的XML数据转换为前端需要的JSON格式。以下是XML转JSON的JS代码的详细攻略: 一、XML转JSON的原理 XML和JSON是两种不同的数据格式,因此需要编写代码将XML转换为JSON格式。XML数据以标签为基础,有嵌套的结构关系,而JSON数据则以键值对为基础,没有嵌套的结构关系。因此,将…

    JavaScript 2023年5月27日
    00
  • html5+javascript实现简单上传的注意细节

    当我们需要在网站中添加文件上传功能时,可以使用HTML5和JavaScript来实现。但是在实现过程中,需要注意一些细节才能确保上传功能的稳定性和安全性。以下是实现简单上传的注意细节攻略: HTML5中的文件上传 HTML5通过 input 标签的 type=”file” 属性提供了文件上传功能。以下是HTML5文件上传的注意事项: 1.设定合适的 acce…

    JavaScript 2023年5月27日
    00
  • JavaScript开发中需要搞懂的字符编码总结

    以下是我对字符编码总结的完整攻略: JavaScript开发中需要搞懂的字符编码总结 什么是字符编码? 字符编码是一种将字符(包括数字、字母、符号等)与二进制数之间相互转换的方式。计算机中,所有的信息都是以二进制的形式存储和传输的。因此,为了在计算机中能够正常存储和传输各种字符,需要通过字符编码将字符转换为二进制数。 JavaScript中的字符串是Unic…

    JavaScript 2023年5月20日
    00
  • JavaScript常见事件对象与操作实例总结

    JavaScript常见事件对象与操作实例总结 JavaScript中有很多事件,常见的事件有鼠标事件、键盘事件、表单事件等,而这些事件产生时候都会生成相应的事件对象,开发者可以通过事件对象去获取事件的信息,进行事件处理。 常见事件对象属性 以下是常见事件对象的属性: event.target: 触发事件的 DOM 元素。 event.currentTarg…

    JavaScript 2023年5月27日
    00
  • JS实现键值对遍历json数组功能示例

    下面我将为您详细讲解“JS实现键值对遍历json数组功能示例”的完整攻略。 一、前置知识 在进行键值对遍历json数组的操作前,需要您先了解以下基础知识: JSON数组:JSON是一种轻量级的数据交换格式,通常使用JSON格式来传输数据,JSON数组即是由多个JSON对象组成的数组。 for…in循环:用于遍历一个对象的所有可枚举属性,循环中可以获取到枚…

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