当前位置:网站首页 > Vue.js开发 > 正文

合并两个有序数组并去重(合并两个有序数组js)



方法一 new Map

 
  

方法二 arr.reduce

 
  

方法三 遍历数组法

这是最简单的去重方法,实现思路:合并两个数组,然后遍历去吃

 
  

方法四 利用对象属性的唯一性去重

个人比较推荐,在面对数组中每一项都是一个对象的时候,一些API是不生效

 
  

方法一 new Set

 
  

方法二 遍历数组法

遍历旧数组,把值加入新建的数组(当新数组中不存在该值时)

 
  

注意:indexOf是ECMA5的新方法,IE8及以下不支持,所以要做兼容性处理。

 
  

方法三 对象键值对法

该方法执行的速度比其他任何方法都快,但就是占用的内存大一些

实现思路:新建一个js对象以及新数组,遍历要去重的数组时,判断值是否是js对象的键。不是的话,给对象新增该键并放入新数组。

注意:判断是否为对象键时,会自动对传入的键执行‘toString()’,不同的键可能会被误认为是一样的,如:a[1]与a[‘1’]。解决问题还是得调用“indexOf”

 
  

方法四 数组下标判断法

缺点:如果数组中的值为undefined,则会剔除,不在新数组中。

 
  

方法五 排序后相邻除法

 
  

或者:递归去重(先给数组排序,然后相邻项判断是否相等,相等的用splice()截去。)

 
  

方法六 优化遍历数组法

实现思路:获取没重复的最右一值放入新数组。(检测到有重复值时终止当前循环同时进入顶层循环的下一轮判断)

 
  

方法七 利用filter()去重

到此这篇合并两个有序数组并去重(合并两个有序数组js)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
  

                            

版权声明


相关文章:

  • vue安装脚手架 检查版本(vue脚手架安装项目特别慢)2026-03-14 15:09:05
  • redhat enterprise 下载(redhat8.3下载)2026-03-14 15:09:05
  • vue 怎么安装(vue怎么安装脚手架)2026-03-14 15:09:05
  • js浅拷贝和深拷贝原理(js浅拷贝和深拷贝原理是什么)2026-03-14 15:09:05
  • 安装node环境 vue npm(安装node.js环境)2026-03-14 15:09:05
  • js深拷贝和浅拷贝的实现方式是什么(js浅拷贝和深拷贝原理)2026-03-14 15:09:05
  • pcie5.0固态硬盘(pcie5.0固态硬盘速度)2026-03-14 15:09:05
  • vue父子组件传值emit(vue父子组件传值的几种方法)2026-03-14 15:09:05
  • vue2生命周期都干了什么(vue生命周期有什么用)2026-03-14 15:09:05
  • 富文本插件(富文本插件vue)2026-03-14 15:09:05
  • 全屏图片