首页 > 其他分享 >怎么用js去除一组数据中重复的元素?

怎么用js去除一组数据中重复的元素?

时间:2023-08-03 23:13:27浏览次数:36  
标签:45 一组 temp 元素 js key 去除 array true

怎么去除一组数据中重复的元素?

function removeDuplicates(array) {
    var temp={}
    var result =[]
    for (let i = 0; i < array.length; i++) {
      if (!temp[array[i]]) {  //如果设置当前元素的值不为true
        temp[array[i]] = true //设置当前元素的值为true
        result.push(array[i])//推进新数组
      }  
    }
    // console.log(temp);
    return result;
  }
var arr = [1,0,1,3,45,6,2,3,4,2,8,9,0,2]
console.log(removeDuplicates(arr));

根据对象的方法来解答,将数组的元素作为对象的key,第一次出现这个key,就把这个key的value赋值为true,后面数组再出现这个元素就可以访问到true这个属性。非常巧妙的解决了这个问题。

下面是打印出来的temp对象和去重的结果,方便理解。

{
  '0': true,
  '1': true,
  '2': true,
  '3': true,
  '4': true,
  '6': true,
  '8': true,
  '9': true,
  '45': true
}
[
  1, 0, 3, 45, 6,
  2, 4, 8,  9
]

标签:45,一组,temp,元素,js,key,去除,array,true
From: https://www.cnblogs.com/ma1998/p/17604727.html

相关文章

  • Golang 使用 JSON unmarshal 数字到 interface{} 数字变成 float64 类型
    最近在golang业务开发时,遇到一个坑。我们有个服务,会接收通用的interface对象,然后去给用户发消息。因此会涉及到把各个业务方传递过来的字符串,转成interface对象。但是因为我的字符串里有一个数字,比如下面demo里的{"number":1234567},而且数字是7位数,在经过json.Unmarshal后,被转成......
  • ubuntu18.04安装nodejs最新版、指定版 12.x 14.x
    ubuntu18.04安装nodejs最新版、指定版12.x14.x 今天准备在ubuntu服务器里面安装nodejs版本,ubuntu18.04仓库nodejs默认是8.x版本。1.通过apt安装nodejs在Ubuntu18.04的默认仓库包含了一个Node.js的版本,截至当前,该仓库的node.js版本是8.10.0。要安......
  • Linux下Nodejs安装三种方式及开发环境
    很久之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录。    首先去官网下载代码,这里一定要注意安装分两种,一种是SourceCode源码,一种是编译后的文件。我就是按照网上源码的安装方式去操作编译后的文件,结果坑了好久好久。    ......
  • js方法保持同步promiseAll
    单个请求保持同步-方法执行完再执行后面的语句delItem(item){if(item.row.status=='2'){this.$message.warning("需求在开发中,无法删除");return;}if(item.row.status=='3'){this.$message.warning("需求已开发完成,无法......
  • three.js学习2-性能监测工具stats.js
    1.安装npmistats.js2.组件引入import*asStatsfrom'stats.js'3.使用,requestAnimationFrame循环调用的函数中调用方法update(),来刷新时间//创建性能检测letstats=newStats()stats.showPanel(0)//0:fps,1:ms,2:mb,3+:customdocument.body.appe......
  • js实现输入框防抖功能
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=......
  • json文件编辑功能
    1Json格式JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于ECMAScript(EuropeanComputerManufacturersAssociation,欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。JSON在2001年由DouglasCrockford提出,......
  • Java后端02(jsp)
    jsp​ servlet是无法将后端获取的数据传递给html页面的,无法再servlet中通过转发或者是重定向的方式,给html页面传递响应的后端数据,servlet中由于拼接过于繁琐,是不适合写html的因此引入了jsp,既可以编写html标签,也可以写Java代码,<dependency><groupId>javax.serv......
  • .eslintrc.js 文件内容配置
    以vue项目为例,主要两个文件,1是.eslintrc.js文件(配置),2是.eslintignore(忽略不需要匹配的文件).eslintrc.js 1//ESlint检查配置2module.exports={3root:true,4parserOptions:{5parser:'babel-eslint',6sourceType:'module'7......
  • 【SpringBoot学习】1、SpringBoot 配置 jsp 模板引擎
    springboot整合jsp页面创建springboot项目就不废话了。在原来的基础上直接加东西就可以了1、添加jsp支持的jar包<!--servlet依赖--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><scope>provid......