javascript数组去重小结

JavaScript数组去重小结

什么是数组去重

JavaScript中的数组去重是指将一个数组中重复的元素保留一个,去除其余的元素,使得最终数组中不含有重复元素。

常见的去重方法

1.使用ES6的Set对象

Set对象是ES6中引入的一种新的数据类型,它类似于数组,但是不允许数组元素重复。因此,我们可以使用Set对象来实现数组去重。

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

我们可以使用new Set()创建一个Set对象,将原始数组转换为Set对象之后,使用Array.from()方法将Set对象转换为数组,即可得到去重之后的数组。

2.使用indexOf()

使用indexOf()方法可以检测一个元素在数组中第一次出现的位置,如果两个元素在数组中第一次出现的位置不同,那么这两个元素就不相同。因此,我们可以通过使用indexOf()方法来实现数组去重。

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

我们可以使用for循环遍历原始数组中的每一个元素,判断其在去重后的数组中是否存在,如果不存在,就将其加入到去重后的数组中。这样就可以得到一个去重之后的数组。

示例说明

假设有如下的一个数组:

let arr = [1, 2, 2, 3, 3, 4, 5, 5];

示例1:使用ES6的Set对象

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

使用ES6的Set对象和Array.from()方法,可以快速地得到去重之后的数组,其输出结果为[1, 2, 3, 4, 5]

示例2:使用indexOf()

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

使用indexOf()方法和for循环,可以得到和ES6的Set对象相同的输出结果[1, 2, 3, 4, 5],因为这两种方法本质上都是判断元素是否重复,从而得到去重之后的数组。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript数组去重小结 - Python技术站

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

相关文章

  • 18个高频使用的JS工具方法总结

    标题:18个高频使用的JS工具方法总结 – 完整攻略 正文: 背景介绍 作为开发人员,经常需要使用一些常用工具方法来处理各种问题,这些工具方法可以节省开发时间、提高代码效率。本文总结了18个高频使用的JS工具方法,并对每个工具方法进行详细说明,包括使用方法、参数说明及返回值等内容。本文旨在为大家提供一份可供参考的JS工具方法总结,让大家能够更加高效地完成开发…

    JavaScript 2023年6月10日
    00
  • vue中使用typescript配置步骤

    下面给出使用TypeScript来编写Vue单文件组件的详细步骤: 创建Vue项目 首先我们需要创建一个Vue项目,可以通过Vue CLI来创建,例如执行以下命令: vue create my-project 安装TypeScript 在创建完Vue项目后,需要安装TypeScript,可以在命令行中执行以下命令: npm install –save-de…

    JavaScript 2023年6月11日
    00
  • JavaScript event对象整理及详细介绍

    下面是关于“JavaScript event对象整理及详细介绍”的完整攻略,帮助大家深入了解并灵活应用事件对象。 JavaScript event对象整理及详细介绍 1. 什么是事件对象? 在 JavaScript 中,当事件发生时,浏览器会创建一个事件对象(Event Object),用于保存事件相关的信息。 事件对象包含了导致事件被触发的元素信息、鼠标信…

    JavaScript 2023年5月27日
    00
  • jQuery实现动态加载(按需加载)javascript文件的方法分析

    下面为您详细讲解“jQuery实现动态加载(按需加载)javascript文件的方法分析”的完整攻略。 什么是动态加载javascript文件? 在网站开发中,js是必不可少的组成部分。但有时我们的网页可能需要加载多个js文件,如果在页面加载的时候将所有的js文件一次性下载就会影响到页面的加载速度。 因此,动态加载(按需加载)javascript文件成为一种…

    JavaScript 2023年5月27日
    00
  • ES6(ECMAScript 6)新特性之模板字符串用法分析

    ES6(ECMAScript 6)新特性之模板字符串用法分析 1. 模板字符串的概念 模板字符串是ES6(ECMAScript 6)中的一项新特性,用来处理复杂的字符串拼接操作。它使用反引号字符 (`) 来表示字符串,可以直接在字符串中插入变量和表达式。 2. 模板字符串的基本用法 2.1 普通字符串的拼接 在使用模板字符串之前,我们可以先来了解一下普通字符…

    JavaScript 2023年5月28日
    00
  • JS正则表达式验证端口范围(0-65535)

    下面是JS正则表达式验证端口范围的攻略: 题目描述 要求用JS正则表达式验证给定的端口范围是否符合规范,即端口号范围应该为0-65535。 解法 我们可以使用正则表达式来判断给定的端口范围是否符合要求。 正则表达式的规则如下: 端口号的范围为0-65535; 0开头的数字只能为0; 1-9开头的数字可以是单个1-9,两位数字或三位数字; 数字不能有前导0。 …

    JavaScript 2023年6月10日
    00
  • Javascript Math对象

    Javascript Math对象 Javascript中的Math对象提供了数学相关的方法和常量,例如sin、cos、sqrt等等。下面是一些重要的方法和属性: Math方法 1. Math.abs(x) 返回x的绝对值 Math.abs(-5); // 5 Math.abs(5); // 5 2. Math.round(x) 返回最接近x的整数,四舍五入…

    JavaScript 2023年5月27日
    00
  • 基于JavaScript创建动态Dom

    创建动态 DOM 可以通过多种方式,其中一种方法是使用 JavaScript。下面是基于 JavaScript 创建动态 DOM 的完整攻略,包含两条示例说明。 1. 在 HTML 中创建容器元素 首先,在 HTML 页面中创建一个空的容器元素,该元素的 id 属性可以用于后续操作。例如: <!DOCTYPE html> <html>…

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