首页 > 其他分享 >js去重

js去重

时间:2023-03-09 11:14:53浏览次数:32  
标签:map arr const arrUnique js item 数组

1. 使用ES6的Set去重
// Set是ES6中新增的数据类型,它可以帮助我们快速去重。将数组转化为Set之后,再转化回数组即可。

```javascript
const arr = [1, 2, 3, 1, 2, 3];
const arrUnique = Array.from(new Set(arr));
```
2. 使用Map数据结构去重
// Map是一种键值对映射的数据结构,可以将数组元素作为键,值可以是任何值。利用Map的特性,我们可以快速通过键的唯一性去重。

```javascript
const arr = [1, 2, 3, 1, 2, 3];
const map = new Map();
arr.forEach(item => {
  map.set(item, item);
});
const arrUnique = Array.from(map.values());

3. 利用对象属性去重 由于对象中的属性都是唯一的,因此可以利用对象的这个特性进行数组去重。 

const arr = [1, 2, 3, 1, 2, 3]; const obj = {}; arr.forEach(item => { obj[item] = true; }); const arrUnique = Object.keys(obj).map(item => parseInt(item));

4. 使用indexOf和数组拼接实现 基于indexOf方法的实现原理是在当前元素之前寻找是否存在相同的元素,如果存在则说明当前元素不是唯一的,需要过滤掉;否则添加到新的数组中。可以使用一个空数组和indexOf方法进行数组去重。

 const arr = [1, 2, 3, 1, 2, 3]; const arrUnique = []; arr.forEach(item => { if (arrUnique.indexOf(item) === -1) { arrUnique.push(item); } });

 

标签:map,arr,const,arrUnique,js,item,数组
From: https://www.cnblogs.com/wuxu-dl/p/17197612.html

相关文章

  • utils&js - 判断数据类型
    utils&js-判断数据类型/***判断文件**如果你需要类型判断,请不要再使用Object.prototype.toString.call()方法*直接调用我们下方封装好的is函数即可*我......
  • js文字转语音
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......
  • node.js版本管理器——NVM
    在日常工作中,需同时开发好几个前端项目的时候,可能不同项目使用的node的版本也不一样,而一台电脑只能安装和同时使用一个版本的node,这个时候我们需要借助NVM来管理node的版本......
  • 【转载】node服务开发和服务器部署(node.js+koa2+pm2+nginx)教程
    我为什么要写这篇文章昨天晚上有个小哥发维信给我,问我怎么部署一个node服务,有没有相关教程,我有点震惊,就问他有哪些不懂,他说几乎都不懂。我想他应该也是找过相关教程了......
  • 浏览器控制台引入css和js
    varimport_css=document.createElement('link');import_css.setAttribute("rel","stylesheet");import_css.setAttribute("href",'https://cdn.bootcdn.net/ajax/lib......
  • 基于JSP+javaBean的留言板--改进(附源码)
    一、系统的主要功能和特点系统主要实现了以JSP和JavaBean为基础的留言板。主要包括登录、登陆检查、增加留言、查看全部留言信息、查看指定留言信息等功能实现了数据的读......
  • Rocky Linux 9 安装 Node.js
    一、概要1.环境(1)RockyLinux9.1(2)Node.js16.0二、安装1.准备(1)更新仓库sudodnfupdate-y(2)安装NPM依赖的构建工具sudoyumgroupinstall'Deve......
  • 遍历JSONObject、JSONArray (适用任意复杂结构类型)
    https://blog.csdn.net/xiangshui021/article/details/120059652?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7......
  • JS系列--【千分位处理和还原】
    1.千分位转化文件utils/common.jsconsttoThousands=function(value,num=0){if(value==null){return}if(value>0){value......
  • fastjson
    1.2.25-1.2.41版本绕过首先我们用以前的脚本打一下:发现报错autoType不允许后面的类加载,查看代码publicClass<?>checkAutoType(StringtypeName,Class<?>expect......