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

yizhihongxing

下面我就为大家详细讲解“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日

相关文章

  • JavaScript里实用的原生API汇总

    JavaScript里实用的原生API汇总 什么是原生API? 在 JavaScript 中,原生 API 是指可以直接在浏览器中使用的 JavaScript 函数和对象。它们已经被封装到浏览器中了,可以直接使用,无需安装额外的库或框架。 以下是一些常见的原生 API: DOM API:用于操作文档对象模型(DOM)的 API。 BOM API:用于操作浏览…

    JavaScript 2023年5月28日
    00
  • JS ES新特性 模板字符串

    JS ES新特性 模板字符串是指一种更加灵活、可读性更高的字符串写法,它可以在字符串中嵌入表达式、变量、函数调用等。 模板字符串的基本语法 使用模板字符串时,我们需要使用反引号( )将字符串包裹起来。在反引号中,我们可以使用${}` 来引用变量、表达式等。例如: const name = "Tom"; const age = 18; co…

    JavaScript 2023年5月28日
    00
  • JS之判断是否为对象或数组的几种方式总结

    JS中判断一个变量是否为对象或数组是开发过程中经常会用到的操作。可以使用以下几种方式进行判断: 1. typeof 操作符 typeof 操作符通常用来判断一个变量的类型,可以通过判断返回值是否是 “object” 来判断一个变量是否为对象。需要注意的是,也可以使用 typeof 判断一个数组,但是返回值是 “object”,所以需要进行额外的判断。 以下是…

    JavaScript 2023年5月27日
    00
  • Bootstrap Fileinput文件上传组件用法详解

    Bootstrap Fileinput文件上传组件用法详解 Bootstrap Fileinput是一款基于Bootstrap的文件上传组件,可以方便地进行文件上传并对上传的文件进行一些处理。 安装 下载源码 可以从 Bootstrap Fileinput 的官方 Github 页面下载源码:https://github.com/kartik-v/boots…

    JavaScript 2023年5月28日
    00
  • 纯JS实现表单验证实例

    下面是“纯JS实现表单验证实例”的完整攻略: 概述 在网站开发中,表单验证是一个必不可少的功能之一。通过表单验证,可以确保用户输入的数据的正确性和安全性,并且提高网站的交互体验。本篇攻略将详细介绍如何使用纯JS实现表单验证,并提供两个示例说明。 实现步骤 获取表单元素和相关参数 在JS脚本中使用document.getElementById()等方法获取需要…

    JavaScript 2023年6月10日
    00
  • Vue集成lodop插件实现打印功能

    下面是详细讲解Vue集成lodop插件实现打印功能的攻略。 1. 什么是Lodop插件 Lodop插件是一款功能强大的打印插件,它支持各种打印机类型,可以实现各种打印效果,包括纸张大小、字体颜色、背景颜色等。 2. 使用Lodop插件的前提 在使用Lodop插件之前,需要先下载插件,并引入到Vue项目中。 下面是引入Lodop插件的示例代码: <!–…

    JavaScript 2023年6月11日
    00
  • javascript常用函数(1)

    JavaScript常用函数(1)攻略 1. 概述 JavaScript是一种非常强大的脚本语言,拥有丰富的内置函数和特性,可以快速实现各种复杂的功能和交互效果。在本篇攻略中,我将详细讲解JavaScript中常用的一些函数,这些函数是编写JavaScript程序的基础,通过学习它们你可以更快地了解这门语言,并能更好地运用它进行开发。 2. 常用函数 2.1…

    JavaScript 2023年5月18日
    00
  • two.js之实现动画效果示例

    Two.js 介绍 Two.js 是一个用于在网页上创建 2D 动画的轻量级绘图库。它基于 SVG 封装了 Canvas API,可在 Canvas 和 SVG 之间进行切换。Two.js 的通用性非常强,可以应用于多种类型的网页开发。它可以被应用于创意、动态交互和数据可视化等多种场景。本篇攻略将介绍如何实现使用 Two.js 开发动画效果的示例。 安装 T…

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