JS数组去重的常用4种方法

下面我就为大家详细讲解“JS数组去重的常用4种方法”的完整攻略。

一、JS数组去重的常用4种方法

数组去重是我们在JS开发中常会用到的一个功能,下面介绍4种去重方法。

1. Set

Set是ES6新增的数据类型,它可以实现数组去重。

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

2. 数组遍历+indexOf

使用数组的indexOf方法可以判断元素是否在数组中已存在,如下所示:

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

3. 数组遍历+includes

ES6中数组新增了一个方法includes,判断元素是否存在于数组中,如下所示:

let arr = [1,2,2,3,3,4,5];
let result = [];
for(let i=0; i<arr.length; i++){
    if(!result.includes(arr[i])){
        result.push(arr[i]);
    }
}
console.log(result);  // [1, 2, 3, 4, 5]

4. 数组排序+遍历去重

将数组先进行排序,然后遍历数组,判断相邻元素是否相同,如下所示:

let arr = [1,2,2,3,3,4,5];
arr.sort();
let result = [arr[0]];
for(let i=1; i<arr.length; i++){
    if(arr[i] !== arr[i-1]){
        result.push(arr[i]);
    }
}
console.log(result);  // [1, 2, 3, 4, 5]

二、总结

通过使用上述这四种常用方法,我们可以轻松实现对数组的去重。其中Set方法是效率最高的一种方法,代码最简单。而数组遍历加includes的方法适用于较小量的数据,而排序加遍历的方法则适用于大量的数据。在实际开发中,根据实际场景选择合适的方法可以最大限度地提高代码效率和性能。

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

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

相关文章

  • JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结

    下面我将详细讲解关于“JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结”的攻略以及示例说明。 标题 一、offset、scroll、client的应用说明 1. offset offset是获取元素相对于其offsetParent的位置信息,包括元素的宽高、距离上下左右的距离。使用offsetLeft和offsetTop属…

    JavaScript 2023年6月11日
    00
  • Android应用开发之代码混淆

    Android 应用开发之代码混淆 1.代码混淆的作用 代码混淆可以将原有 Java 代码反编译成的暴露的对应 Java 原代码格式的 Java 文件进行二次加密,改变其结构,提高代码保密性和防止逆向破解的能力。 在 Android 应用开发中,只编写 Java 代码是不够的。Android 应用也会包含 XML 、资源文件、native 库和其他二进制文件…

    JavaScript 2023年6月10日
    00
  • WEB 浏览器兼容 推荐收藏

    下面是关于WEB浏览器兼容推荐收藏的完整攻略。 什么是WEB 浏览器兼容? WEB浏览器兼容是指一种 WEB 站点可被多种浏览器在不同操作系统环境下展现,且表现基本一致的能力。WEB的兼容性是 WEB 应用开发中最为重要的成果之一,无论是在美观还是用户体验上都占据重要地位。 为什么需要WEB 浏览器兼容? 随着不同操作系统和不同版本的浏览器的出现,WEB 在…

    JavaScript 2023年6月10日
    00
  • javascript数组操作(创建、元素删除、数组的拷贝)

    下面我来给你讲解一下 JavaScript 数组操作(创建、元素删除、数组的拷贝)的完整攻略。 创建数组 数组是 JavaScript 中的一种特殊的数据类型,用逗号分隔的多个值,可以使用数组字面量语法创建数组,也可以使用 Array 构造函数来创建数组。 数组字面量语法创建数组 可以使用方括号 [] 创建一个空数组,并用逗号分隔元素。例如: let arr…

    JavaScript 2023年5月27日
    00
  • 简单的邮箱登陆的提示效果类似于yahoo邮箱

    下面我将详细讲解如何实现简单的邮箱登录提示效果,类似于Yahoo邮箱。 1. 需求分析 首先,我们需要明确需求。在这里,我们需要实现一个提示效果,用于引导用户在邮箱登录页面输入正确的账号和密码。 该提示效果应该包含以下内容: 提示信息:为了引导用户尽快输入正确的账号和密码,我们需要在页面上显示相应的提示信息,比如:“请输入正确的邮箱账号”、“密码错误,请重新…

    JavaScript 2023年6月11日
    00
  • JavaScript中关于Object.create()的用法

    首先我们来讲一下Object.create()方法。它是JavaScript中一个非常重要的方法,用于创建一个新对象,同时可以将其原型指向另一个对象,也可以添加新的属性和方法。下面就来详细介绍一下Object.create()的用法: 基本语法 Object.create()方法的基本语法如下: Object.create(proto[, propertie…

    JavaScript 2023年5月27日
    00
  • 深入理解JSON数据源格式

    深入理解JSON数据源格式 什么是JSON? JSON是JavaScript Object Notation的缩写,它是一种轻量级的数据交换格式,易于理解和使用。它基于一种JavaScript子集,但考虑到其实际用途,它是一种独立于语言的数据格式。JSON格式是一种键值对的数据结构,它采用Unicode字符集。 JSON的基本语法 JSON数据格式由两个大括…

    JavaScript 2023年5月27日
    00
  • 解决JavaScript中0.1+0.2不等于0.3问题

    JavaScript 中 0.1 + 0.2 != 0.3,是因为在计算过程中涉及到小数转二进制的问题。大部分十进制小数无法完全转换为二进制,也就是存在精度误差,因此可能会出现计算结果与预期结果不完全相等的情况。解决这个问题可以有以下几种方式: 1. toFixed() 方法 toFixed() 方法可以将小数保留指定位数,并返回一个字符串类型的数值。因为是…

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