js数组去重的方法总结

针对“js数组去重的方法总结”这个主题,我将为大家详细讲解一些js数组去重的方法。

方法一:使用Set去重

Set 是 ES6 特性之一,可以用来去重。代码示例如下:

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

解释:使用 new Set() 去除数组中的重复元素并将其赋值给一个新的 Set 对象,然后将该对象转换为数组。

方法二:使用 filter 方法

使用 filter 方法可快速去除重复元素,代码示例如下:

let arr = [1, 2, 3, 3, 4, 5, 5];
let uniqueArr = arr.filter((item, index, array) => array.indexOf(item) === index); 
console.log(uniqueArr); // [1, 2, 3, 4, 5]

解释:使用 indexOf 方法查找元素在数组中的第一个位置,如果当前位置等于该元素的位置,则说明该元素是第一次出现,否则就是重复元素,这时候可以使用 filter 方法去掉。

除了以上两种方法外,还有一些其它的方法,如使用 Map,使用 reduce,使用 forEach 等。

方法三:使用 Map

使用 Map 对象去重的方法较为简单,代码示例如下:

let arr = [1, 2, 3, 3, 4, 5, 5];
let map = new Map();
let uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
  if(!map.has(arr[i])){
    map.set(arr[i], true);
    uniqueArr.push(arr[i]);
  }
}
console.log(uniqueArr); // [1, 2, 3, 4, 5]

解释:使用 Map 对象的键名去重,在循环中使用 has 方法判断是否已经存在,如果不存在则向数组中 push 该元素的值。

方法四:使用 reduce

使用 reduce 迭代器可快速去重,代码示例如下:

let arr = [1, 2, 3, 3, 4, 5, 5];
let uniqueArr = arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]

解释:使用 reduce 方法循环数组,prev 表示上一次迭代的结果值,cur 表示当前元素的值,通过判断 prev 数组中是否包含 cur,如果包含说明已经存在该元素,则直接返回 prev 数组,如果不包含则将该元素 push 到 prev 数组中以完成去重。

以上就是我总结的 js 数组去重的方法,希望对大家有所帮助!

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

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

相关文章

  • JavaScript中数组对象的那些自带方法介绍

    下面就为大家详细介绍JavaScript中数组对象的自带方法。 1. 增加、删除、修改元素 push、pop、shift、unshift方法 push方法:在数组的末尾插入一个或多个元素,并返回数组新的长度。 pop方法:删除数组的最后一个元素,并返回该元素的值。 shift方法:删除数组的第一个元素,并返回该元素的值。 unshift方法:在数组的开头插入…

    JavaScript 2023年5月27日
    00
  • JavaScript中的Error错误对象与自定义错误类型详解

    JavaScript中的Error错误对象与自定义错误类型详解 在JavaScript编程过程中,错误的发生是难以避免的。为了更好的解决错误,并能够将错误信息提供给开发者,JavaScript提供了错误对象Error和自定义错误类型的概念。 Error错误对象 Error对象是JavaScript中内置的一个错误对象,它可以表示运行时发生的各种错误类型。此对…

    JavaScript 2023年5月18日
    00
  • Javascript基础学习笔记(菜鸟必看篇)

    我来讲解一下“Javascript基础学习笔记(菜鸟必看篇)”,这是一篇非常适合初学者的基础教程,内容涵盖了Javascript的基础语法和常用API。 基础语法 在这部分中,笔记介绍了Javascript的数据类型、变量、运算符、条件语句、循环语句等基础语法知识。 其中,有一段代码示例展示了如何使用条件语句来判断一个人的成绩等级: var score = …

    JavaScript 2023年5月18日
    00
  • Javascript Array unshift 方法

    以下是关于JavaScript Array unshift方法的完整攻略。 JavaScript Array unshift方法 JavaScript Array unshift方法用于在数组的开头添加一个或多个元素,并返回新的数组长度。该方法会改变原始数组。 下面是一个使用unshift方法的示例: var arr = [1, 2, 3, 4, 5]; v…

    JavaScript 2023年5月11日
    00
  • js根据json数据中的某一个属性来给数据分组的方法

    实现 JS 根据 JSON 数据中的某一个属性来给数据分组的方法,可以使用 Array.prototype.reduce() 方法和 object[key] 或 Object.assign() 来处理分组数据。 以下是具体步骤: 首先,使用 Array.prototype.reduce() 方法来遍历 JSON 数据,并将其分组为一个对象。 在 reduce…

    JavaScript 2023年5月27日
    00
  • JavaScript的基础语法和数据类型详解

    我来为你详细讲解一下“JavaScript的基础语法和数据类型详解”的完整攻略。 基础语法 JavaScript是一种弱类型、动态的编程语言。以下是其基础语法: JavaScript代码可以嵌入到HTML文档中,也可以作为独立的js文件引入。 JavaScript代码块的起始和结束都是用大括号{}表示,语句用分号;结尾,但是在特定的情况下,分号可以省略。 J…

    JavaScript 2023年5月17日
    00
  • JavaScript学习笔记之创建对象

    关于“JavaScript学习笔记之创建对象”的完整攻略,我会从以下几个方面进行详细讲解: 创建对象的几种方式 对象的属性和方法 示例说明 1. 创建对象的几种方式 在JavaScript中,我们可以使用以下几种方式来创建对象: 1.1 对象字面量 对象字面量是一种常见的创建对象的方式,形式如下: var obj = { key1: value1, key2…

    JavaScript 2023年5月27日
    00
  • JS如何定义用字符串拼接的变量

    JS中可以将多个字符串拼接在一起来形成一个新的字符串,这个过程也称为字符串连接。我们可以将字符串拼接后赋值给变量,从而定义一个用字符串拼接的变量。 一般来说,字符串拼接的方式有两种: 使用“+”拼接符 可以使用“+”符号将多个字符串拼接在一起,如下所示: var str1 = ‘Hello’; var str2 = ‘world’; var str = st…

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