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日

相关文章

  • javascript模拟C#格式化字符串

    接下来我将为你讲解javascript模拟C#格式化字符串的攻略。 首先,我们需要了解C#格式化字符串的语法,它使用了一种特殊的符号来实现占位符的替换。在C#中,占位符由一对花括号 {} 构成,占位符中可以指定参数的索引,以及可选的格式化选项。具体语法如下: string.Format("{0}的年龄是{1}岁。", name, age)…

    JavaScript 2023年5月28日
    00
  • JavaScript中对象property的读取和写入方法介绍

    下面我就来为你详细讲解“JavaScript中对象property的读取和写入方法介绍”。 什么是对象property 在JavaScript中,对象是一种基本类型,它由key-value键值对组成。对象的属性可以是任意的JavaScript值,例如数字、布尔值、字符串、函数、甚至可以是另一个对象。在JavaScript中,我们使用点(.)或方括号([])访…

    JavaScript 2023年5月27日
    00
  • Javascript核心读书有感之表达式和运算符

    Javascript核心读书有感之表达式和运算符攻略 表达式和运算符的基本概念 在Javascript中,表达式是由变量、常量、运算符和函数调用等元素组成的组合,用于计算一个值。而运算符则是表达式中完成具体计算的部分。 运算符的分类 Javascript中的运算符可以分为以下几类: 算术运算符 用于数值运算,包括加减乘除、取余等,如:+、-、*、/、%。 示…

    JavaScript 2023年6月11日
    00
  • 每天一篇javascript学习小结(Date对象)

    下面是“每天一篇 JavaScript 学习小结(Date 对象)”的完整攻略: 简介 Date 对象是 JavaScript 的内置对象之一,它表示日期和时间,并提供了相关的方法和属性。 创建 Date 对象 你可以使用 Date 构造函数来创建一个 Date 对象。Date 构造函数可以接受多种格式的参数,包括年、月、日、时、分、秒等等。以下是一些示例:…

    JavaScript 2023年5月27日
    00
  • JS实现的走迷宫小游戏完整实例

    下面是“JS实现的走迷宫小游戏完整实例”的完整攻略: 1.准备工作 1.1 HTML结构 在HTML中使用一个canvas元素来绘制迷宫,并使用一个button元素来触发游戏。示例代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g…

    JavaScript 2023年5月28日
    00
  • JavaScript函数执行、作用域链以及内存管理详解

    JavaScript函数执行、作用域链以及内存管理详解 在JavaScript中,函数是一等公民,其执行依赖于作用域链和内存管理机制。理解这些概念对于编写高质量的JavaScript代码至关重要。本文将详细介绍JavaScript函数执行、作用域链以及内存管理的相关知识。 函数执行 JavaScript中的函数执行过程分为创建阶段和执行阶段两个阶段。 创建阶…

    JavaScript 2023年5月18日
    00
  • JavaScript中使用自然对数ln的方法

    在JavaScript中,计算自然对数ln的方法有多种。本文将介绍两种常见的方法:使用Math库和手动计算。 使用Math库 Math库是JavaScript标准库之一,其中包括了常用的数学函数,如cos、sin、log等。其中包括了计算自然对数ln的函数:Math.log()。 使用Math.log()函数的方法非常简单,直接传入需要计算自然对数的数值即可…

    JavaScript 2023年5月27日
    00
  • Javascript 面向对象 重载

    JavaScript 是一种面向对象的编程语言,它支持函数重载,即同一函数名字,参数不同,对应的实现不同,JavaScript 可以通过这种方式实现函数重载。 什么是面向对象 面向对象(Object-Oriented Programming)是一种编程思想,它把对象作为程序的基本单元,将程序中的数据和操作数据的方法绑定在一起,以及保护数据的安全性。JavaS…

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