位置: 编程技术 - 正文

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日期格式)

  • 留底退税怎么做账务处理
  • 出口退税无纸化备案
  • 企业申报个税软件怎么下载
  • 管理费用与税金及附加哪个会影响利润
  • 纳税申报表申报日期
  • 房产税的计算公式是多少
  • 季度企业所得税申报表怎么填写
  • 职工的补助金需交税吗
  • 个人承担的社保计入管理费用吗
  • 城市建设税和教育费附加计算公式
  • 增值税降到16个点什么时候实行
  • 个体工商户能否转让
  • 餐厅团购券在哪个软件的
  • 税务登记注销前异常项目类型非强制什么意思
  • 技术转让费为什么那么贵
  • 一张发票多个单位报销,怎么分辨
  • 专用发票与普通发票代码区别
  • 融资性售后回租按什么缴纳增值税
  • 购货未能取得发票怎么办
  • 外币汇兑差额债券投资计入什么科目?
  • 汽车罚款怎么进账
  • 购买原材料并作会计分录
  • 小规模纳税人代理销售税率是多少
  • 红冲的普通发票要给对方吗
  • 如何代开外籍人员个人所得税完税凭证?
  • 公司员工驻外补贴政策
  • 固定资产转投资性房地产是会计政策变更吗
  • 跨月的红字发票
  • 计提工资时个税是计提上月的吗
  • 预付业务招待费会计分录
  • 食品类发票入账属于什么科目
  • 企业备用金预借多久到账
  • 定向增发后送股成本价
  • OfcPfwSvc.exe - OfcPfwSvc是什么进程 有什么用
  • 企业一部分房屋出租后怎样缴纳房产税
  • 跨年的发票作废重新开具需要入账
  • 收到借款金额
  • 应收账款怎么做会计分录
  • 货款退回账务处理方法
  • 固定资产清理科目余额结转哪里
  • 其他综合收益什么类科目
  • 瑞数5.5逆向笔记(纯扣算法)
  • vue3引入图片
  • 契税属于哪种说法
  • 已勾选未确认怎么取消
  • 个税申报密码重置多久能用
  • 股权出质有时间限制吗
  • 解决问题对吗
  • mybatis模糊查询特殊字符处理
  • 进项与销项区别
  • 电子税务局没有税务数字账户怎么办
  • 增值税发票税率1%
  • 股票价值和内部收益率的公式
  • 企业筹办期怎么做账最合理
  • 什么叫固定资产台账
  • 其他应付款贷方什么意思
  • 结转费用后利润怎么算
  • 发票开错是不是可以作废?
  • 无发票材料可以入材料账吗
  • 记账凭证是不是转账凭证
  • 小规模纳税人计算公式
  • 商业银行的存款有哪些种类
  • mysql 5.7.28安装
  • 被放弃的遗产
  • fedora os
  • zmweb.exe是什么进程
  • mac 地址栏
  • 为了保证系统安全,必须为用户和角色设置密码
  • 微博是怎么用
  • python迭代器的作用
  • Cocos2dx ParticleEditor粒子编辑器
  • 获取jquery对象
  • 基于python的游戏
  • nodejs搭建个人博客网站
  • 在javascript中如果不指明对象直接调用
  • 购买的土地没有土地使用证
  • 如何当好一名税务局长
  • 工厂的税率是多少
  • 造纸及纸制品业属于什么行业
  • 消费税的税率只有比例税率和定额税率两种判断题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设