位置: 编程技术 - 正文

js数组去重的5种算法实现(js 数组去重的四种方法)

编辑:rootadmin

推荐整理分享js数组去重的5种算法实现(js 数组去重的四种方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js实现数组去重的算法,js中数组去重常用方法,js数组去重indexof,js中数组去重复的方法有哪些,js数组去重最优解法,js中数组去重复的方法有哪些,js中数组去重复的方法有哪些,js数组去重最优解法,内容如对您有帮助,希望把文章链接给更多的朋友!

1.遍历数组法最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码,源码如下:

js数组去重的5种算法实现(js 数组去重的四种方法)

2.对象键值对法该方法执行的速度比其他任何方法都快, 就是占用的内存大一些,实现思路:新建一js对象以及新数组,遍历传入数组时,判断值是否为js对象的键,不是的话给对象新增该键并放入新数组。注意 点: 判断是否为js对象键时,会自动对传入的键执行“toString()”,不同的键可能会被误认为一样;例如: a[1]、a["1"] 。解决上述问题还是得调用“indexOf”。

3.数组下标判断法还是得调用“indexOf”性能跟方法1差不多,实现思路:如果当前数组的第i项在当前数组中第一次出现的位置不是i,那么表示第i项是重复的,忽略掉。否则存入结果数组。

4.排序后相邻去除法 虽然原生数组的”sort”方法排序结果不怎么靠谱,但在不注重顺序的去重里该缺点毫无影响。实现思路:给传入数组排序,排序后相同值相邻,然后遍历时新数组只加入不与前一值重复的值。

5.优化遍历数组法该方法的实现代码相当酷炫,实现思路:获取没重复的最右一值放入新数组。(检测到有重复值时终止当前循环同时进入顶层循环的下一轮判断)推荐

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

标签: js 数组去重的四种方法

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

上一篇:解决js图片加载时出现404的问题(js如何实现图片懒加载)

下一篇:基于JavaScript实现移动端点击图片查看大图点击大图隐藏(javascript例题)

  • 企业所得税法允许税前扣除的费用划分为
  • 电子税务局能不能申报个税
  • 不征税收入的三个条件文件依据
  • 小微企业所得税优惠政策最新2022
  • 长期股权投资的交易费用计入哪里
  • 积分兑换礼品需要缴纳个人所得税吗
  • 提前给货款计入什么科目
  • 长期股权投资成本法初始计量
  • 固定资产移交给别的单位怎么做账
  • 无票收入负数怎么报增值税
  • 个税扣除每个月更新吗
  • 公司购买床垫怎样入账
  • 成品油生产企业身份归类管理办法
  • 全年一次性奖金税率表
  • 资产报废对企业的好处
  • smtplib教程
  • 怎么解决windows许可证即将过期
  • PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
  • php7 数组
  • 安全生产责任险保障范围
  • mac修改系统版本号
  • php insert into
  • lcasensor是什么进程
  • php link指令
  • 如何计算企业所得税税负
  • php substr()
  • 自产产品管理部门领用
  • php数据导出到excel
  • php根据经纬度计算距离
  • bestars皮纳
  • thinkphp隐藏index.php
  • php csrf攻击
  • 工资必须走银行卡吗
  • php 短信验证码
  • 软件折旧费
  • 报废机器设备如何缴纳增值税
  • ps怎么选中图形放大
  • 用pullout造句
  • 员工业余自学
  • python knn算法和结果
  • python 操作数据库
  • 员工回家探亲的文案
  • 更正申报失败,维持原申报?
  • 不抵扣的进项税为什么要交税
  • 税金及附加怎么做分录
  • MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
  • 收到退回的企业所得税分录
  • 兼职老师工资小时多少钱
  • 售后服务维修收费制度
  • 企业如何在没有税务登记
  • 生产自己的产品
  • 当月未开票收入八百万
  • 销售收入打折后怎么做账
  • 设计公司发生的设计费怎么入账
  • 研发费用按50%的预算
  • 自产自销免税农产品需要缴纳印花税吗
  • 增值税普通发票需要交税吗
  • 国有资产无偿划转协议
  • 股东退股如何清算
  • 年化率23%是几分利息
  • mysql安装与配置的步骤与常用命令
  • sql null用法
  • linux.iso在哪里
  • 创建windows
  • 光盘pe系统
  • win10系统版本20h2
  • Cocos2d-JS中JavaScript继承
  • jquery实现表单验证
  • javascript到c
  • cocos2dx官方教程
  • 简述javascript
  • js中表单
  • js校验密码复杂度
  • 修复硬盘
  • 江西省国家税务局总局官网
  • 小规模出售不动产怎么交税
  • 浙江省有多少家农业银行
  • 陕西省税务电话是多少
  • 重庆税务总局发票查询
  • 商铺转让要交哪些税费和费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设