位置: 编程技术 - 正文

javascript数组去重小结(javascript数组去重set方法)

编辑:rootadmin

推荐整理分享javascript数组去重小结(javascript数组去重set方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js数组去除指定元素,javascript数组去除重复元素,JavaScript数组去重,javascript数组去重set方法,javascript数组去重set方法,javascript数组去重set方法,javascript数组去重复,javascript数组去重复,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

最近为了换工作,准备下面试,开始回顾复习JavaScript相关的知识,昨天下午想到了数组去重的相关方法,干脆整理出几篇JavaScript算法文章,以备后用,此系列文章不定篇数,不定时间,想到哪写到哪,不保证正确性,不保证高效率,只是谈谈个人理解,如有错误,请诸位斧正。

关于去重

数组去重是一个比较常见的算法考察点,实现去重的方式无外乎通过唯一性和非唯一性。简单来讲就是挑出唯一的或者删除不唯一的。以下所有算法都是我自己瞎命名的,请无视之。

循环匹配去重

顾名思义,就是把数组中的每一个元素都和存放元素的数组对比,遇到不重复的元素,放入新数组中,直至循环结束,由于匹配也有循环,也可以称为双循环匹配去重,这也是大家都能想到的最简单的方式。

实现代码:

注意:上面方法有一个bug,当存在数字和数字形式的字符串的时候,没有区分出数字和数字字符串。因为在匹配函数isMatch()里用的是双等“==”,没有验证元素类型,实际应该使用全等“===”。修改后的代码如下:

算法优缺点:

优点:

实现简单,思路直观

缺点:

效率低下

JSON去重/对象去重/字典去重

JSON去重,简单来讲就是利用Object对象key的唯一性,将数组的元素转换为JSON或者说对象的key值。JSON的value存储数组的索引index,然后对JSON对象进行for in循环,存储到新数组中。

Array、JSON、{}都是Object,所以采用任意一种都可以实现此算法。

实现代码:

javascript数组去重小结(javascript数组去重set方法)

Array方式:

JSON方式:

Object方式:

算法优缺点:

优点:

简单

效率非常高

缺点:

1.改变了数组元素的类型() 2.有bug(无非区分数字和数字类型字符串)

队列递归去重

昨天晚上思忖良久想到用队列的方式,先将数组排序成升序或降序的队列,这样相同的元素就处在一个区域内,然后从队尾向前匹配,如果匹配成功,删除队尾,然后前一个元素再向其前面的匹配。整个匹配完成之后,剩下的元素就是去重过后的队列。

算法优缺点:

优点:

效率较高

缺点:

效率不是最高

INDEXOF去重方式

判断浏览器是否支持indexOf ,indexOf 为ecmaScript5新方法 IE8以下(包括IE8, IE8只支持部分ecma5)不支持

js日期插件dateHelp获取本月、三个月、今年的日期 最近看了一些关于面向对象的知识,最近工作中在做统计查询的时候需要用到本月、近三个月、今年的日期范围,所以下面用用面向对象的思想写了一

论JavaScript模块化编程 JavaScript模块化编程的重要性JavaScript的原型是java,它也是一种面向对象编程语言,属于一种弱类型语言,它具有更大的灵活性。以往在编写javascript代码

基于JavaScript实现快速转换文本语言(繁体中文和简体中文) 一般商业网站都有一个语言的需求,就是为了照顾使用正体中文的国人,会特地提供一个切换到正体中文的选项(或曰繁体中文)。传统做法是在服务

标签: javascript数组去重set方法

本文链接地址:https://www.jiuchutong.com/biancheng/378965.html 转载请保留说明!

上一篇:详解JS正则replace的使用方法(js 正则replace)

下一篇:js日期插件dateHelp获取本月、三个月、今年的日期(js日期格式)

  • 年报补交企业所得税如何写会计分录
  • 反避税定义
  • 经营所得个税计算案例
  • 委托加工发出材料成本会计分录
  • 车船税保险公司会不会多收
  • 普票千元版和万元版板面区别
  • 分公司预缴企业所得税总公司可以抵扣吗
  • 发票的收款人复核怎么写
  • 存货的领用
  • 临时设施摊销方案怎么写
  • 现金清查时,发现长款200元,未查明原因,经批准后转销
  • 一般纳税人销售旧货
  • 企业丢失账簿稽查局可以处罚吗
  • 老板投资的钱怎么入账
  • 补交本年增值税计提
  • 事业单位如何计提工资
  • 固定资产报废的账务处理例题
  • 外商投资企业母公司派到境内职员回国后
  • 小规模公司可以贷款吗
  • 抵税更正申报需要多久
  • 租赁车辆保险费用每年都一样吗
  • 国税电子钥匙常见问题解答
  • 税法相关问题
  • 定额发票是啥
  • 汇算清缴时多缴的企业所得税怎么做会计分录
  • 未办理外经证如何处罚
  • 应付账款收不到账怎么办
  • 退回社保费的会议记录
  • 建筑劳务公司的成本有哪些,怎么做账
  • mac系统10.10
  • 苹果14
  • linux查看磁盘空间 命令fdisk
  • PHP:mb_parse_str()的用法_mbstring函数
  • PHP:Memcached::fetch()的用法_Memcached类
  • 收到违约金赔款计入什么科目
  • 奥维尔的瓦兹河岸
  • php close
  • 销售废旧设备增值税率
  • 个人博客登录入口
  • 存货盘亏的账务处理进项税额转出
  • 微信小程序游戏手游排行榜
  • 企业资产损失税前扣除管理办法最新
  • 跨境电商企业要进入某个国家的市场 必须先做的工作是
  • 小规模纳税人财务报表是按季还是按月申报
  • 装修费用一次性计入成本
  • 非流动资产处置计入什么科目
  • 应付账款坏账损失的会计分录
  • 调转会计证需要什么资料
  • 无形资产摊销会计凭证
  • 月底留抵税额需要结转吗
  • 无偿调入的固定资产其贷方应计入
  • 水电费的收据单怎么写
  • 运输公司汽车折旧能直接进主营成本吗
  • 实收资本的会计编码
  • 建筑企业收到发票未付款怎么做账
  • 在建工程前期投标流程
  • 水利基金减免
  • 小规模企业与一般纳税人企业最新划分标准及税率
  • 固定资产入账标准最新规定企业
  • 应交增值税贷方余额表示什么
  • 建筑业老项目发展现状
  • 为什么要用支票取钱
  • docker镜像包含什么
  • windows server 2003如何安装
  • solaris 11.4
  • 怎么在ubuntu上编程
  • linux中make
  • fsma32.exe进程是什么文件 fsma32是什么进程
  • Win7系统如何清理本地硬盘
  • win8无法更新到win10
  • perl scripts
  • Activity的四种启动模式和onNewIntent()
  • Node.js中的什么模块是用于处理文件和目录的
  • js parseint parsefloat
  • 用js实现一个复杂对象深拷贝的算法
  • js数组entries
  • 火狐浏览器不支持弹出对话框操作
  • jquery字符转数字
  • 企业职工病退后一般能领多少钱
  • 消费税包装物押金和增值税一致吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设