JavaScript中数组去重的5种方法

“JavaScript中数组去重的5种方法”是一个常见的问题,本文将详细讲解五种不同的去重方法。

方法一:使用ES6的Set

ES6中新增的Set是一种数据结构,可以用于存储任何类型的唯一值。我们可以使用Set去重一个数组,然后再将其转换为数组类型。

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

方法二:使用for循环

我们可以使用双层循环来遍历数组,将重复的元素移除。

let arr = [1, 2, 2, 3, 3, 4, 5];
let newArr = [];
for(let i=0;i<arr.length;i++){
    let exist = false;
    for(let j=0;j<newArr.length;j++){
        if(newArr[j] === arr[i]){
            exist = true;
            break;
        }
    }
    if(!exist){
        newArr.push(arr[i]);
    }
}
console.log(newArr); //[1, 2, 3, 4, 5]

方法三:使用indexOf()

使用indexOf()方法可以快速判断元素是否在数组中存在。

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

方法四:使用sort()

我们可以先使用sort()方法对数组进行排序,然后再遍历数组,将重复的元素移除。

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

方法五:使用reduce()

reduce()方法可以用于处理数组,将其简化为一个值。我们可以使用reduce()方法遍历数组,将重复的元素移除。

let arr = [1, 2, 2, 3, 3, 4, 5];
let newArr = arr.reduce((prev, cur) => {
    if(!prev.includes(cur)){
        prev.push(cur);
    }
    return prev;
}, []);
console.log(newArr); //[1, 2, 3, 4, 5]

在这里,我们使用了 5 种不同的方法进行数组去重。根据实际需求,你可以选择任何一种去重方法。

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

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

相关文章

  • javascript事件捕获机制【深入分析IE和DOM中的事件模型】

    Javascript事件捕获机制:深入分析IE和DOM中的事件模型 Javascript事件是指Web页面交互中发生的各种行为,例如用户单击、滚动、键盘输入、鼠标移动等。针对这些事件,Javascript为我们提供了事件捕获和事件冒泡两种机制。本文将深入分析IE和DOM中的事件模型,并结合示例说明它们的具体用法。 IE事件模型 以单击事件为例,在IE浏览器中…

    JavaScript 2023年6月10日
    00
  • javascript 验证日期的函数

    我们来详细讲解一下如何利用 JavaScript 编写验证日期的函数。 函数基本结构 一个基本的 JavaScript 验证日期的函数应该具有以下结构: function validateDate(input){ // 对传入的参数 input 进行验证 // 如果符合日期格式,则返回 true,否则返回 false return true; // 或者 f…

    JavaScript 2023年5月27日
    00
  • js 工具类

    /*是否带有小数*/ function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/; return objRegExp.test(strValue); } /*校验是否中文名称组成 */ function ischina(str) { var reg=/^[\u4E00-\u9FA5]{2,4}$/;…

    JavaScript 2023年4月25日
    00
  • Native.js屏幕截图实例代码

    下面我来详细讲解“Native.js屏幕截图实例代码”的完整攻略。 前置知识 在讲解本文的主要内容之前,我们需要掌握两个知识点: Native.js Native.js 是一个将 JavaScript 源代码编译成本地机器码的编译器,这样可以将 JavaScript 的运行速度提高数倍。 HTML5 Canvas HTML5 Canvas API 提供了一种…

    JavaScript 2023年6月11日
    00
  • javascript基本语法

    当我们想要学习 JavaScript 时,首先需要了解它的基本语法,这是非常重要的一步。下面,我将向大家介绍 JavaScript 的基本语法。 变量 变量是存储数据的容器。变量可以在程序的后续部分被操作或调用。 在 JavaScript 中,可以使用 var、let 或 const 来声明变量。 // 使用 var 声明变量 var num = 10; /…

    JavaScript 2023年5月17日
    00
  • JavaScript事件处理的方式(三种)

    JavaScript事件处理的方式,一般可以分为三种,分别是通过HTML属性、DOM 0级事件处理和DOM 2级事件处理。下面将一一详细讲解。 1. HTML属性方式 使用HTML标签的事件属性来绑定事件,比如<button onclick=”alert(‘clicked’)”>Click me</button>。 HTML属性事件处…

    JavaScript 2023年5月17日
    00
  • javascript实现根据时间段显示问候语的方法

    要实现根据时间段显示问候语的方法,需要通过JavaScript代码获取当前时间,然后根据时间的不同,显示不同的问候语。下面是详细的攻略: 步骤一:获取当前时间 可以通过JavaScript的Date对象获取当前时间,具体代码如下: let now = new Date(); let hour = now.getHours(); 上面的代码通过new Date…

    JavaScript 2023年5月27日
    00
  • ajax跨域(基础域名相同)表单提交的方法

    基于基础域名相同的情况,ajax跨域表单提交的方法可以通过以下步骤实现: 在服务端设置允许跨域访问 首先,在服务端需要设置响应头允许跨域访问,可以使用以下代码: // Nodejs可用的代码 app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin&quot…

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