JS实现的合并多个数组去重算法示例


Posted in Javascript onApril 11, 2018

本文实例讲述了JS实现的合并多个数组去重算法。分享给大家供大家参考,具体如下:

var arr1 = ['a','b'];
var arr2 = ['a','c','d'];
var arr3 = [1,'d',undefined,true,null];
//合并两个数组,去重
var concat_ = function(arr1,arr2){
  //不要直接使用var arr = arr1,这样arr只是arr1的一个引用,两者的修改会互相影响
  var arr = arr1.concat();
  //或者使用slice()复制,var arr = arr1.slice(0)
  for(var i=0;i<arr2.length;i++){
    arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
  }
  return arr;
}
console.log(concat_(arr1,arr2));

运行结果:

JS实现的合并多个数组去重算法示例

var arr1 = ['a','b'];
var arr2 = ['a','c','d'];
var arr3 = [1,'d',undefined,true,null];
//合并多个数组,去重
var concat = function(arr1,arr2,arr3){
  if(arguments.length <= 1){
    return false;
  }
  var concat_ = function(arr1,arr2){
    var arr = arr1.concat();
    for(var i=0;i<arr2.length;i++){
      arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
    }
    return arr;
  }
  var result = concat_(arr1,arr2);
  for(var i=2;i<arguments.length;i++){
    result = concat_(result,arguments[i]);
  }
  return result;
}
console.log(concat(arr1,arr2,arr3));

运行结果:

JS实现的合并多个数组去重算法示例

//合并多个数组,去重,排序
var arr1 = [1,6,4,0];
var arr2 = [8,20,7,4.5];
var arr3 = [6,0,7,90,2];
var concat = function(arr1,arr2,arr3){
  if(arguments.length <= 1){
    return false;
  }
  var concat_ = function(arr1,arr2){
    var arr = arr1.concat();
    for(var i=0;i<arr2.length;i++){
      arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
    }
    return arr;
  }
  var result = concat_(arr1,arr2);
  for(var i=2;i<arguments.length;i++){
    result = concat_(result,arguments[i]);
  }
  //排序
  function sortNumber(a,b){
    return a - b;
  }
  return result.sort(sortNumber);
}
console.log(concat(arr1,arr2,arr3));

运行结果:

JS实现的合并多个数组去重算法示例

Javascript 相关文章推荐
jQuery 事件队列调整方法
Sep 18 Javascript
jsPDF导出pdf示例
May 02 Javascript
JavaScript变量的作用域全解析
Aug 14 Javascript
JS打印组合功能
Aug 04 Javascript
Javascript使用SWFUpload进行多文件上传
Nov 16 Javascript
angularjs中ng-bind-html的用法总结
May 23 Javascript
详解使用webpack打包编写一个vue-toast插件
Nov 08 Javascript
vue实现登录后页面跳转到之前页面
Jan 07 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
Jan 09 Javascript
解决vue keep-alive 数据更新的问题
Sep 21 Javascript
使用typescript改造koa开发框架的实现
Feb 04 Javascript
vue-cli3配置favicon.ico和title的流程
Oct 27 Javascript
JS实现的JSON数组去重算法示例
Apr 11 #Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 #jQuery
JS常用的几种数组遍历方式以及性能分析对比实例详解
Apr 11 #Javascript
node结合swig渲染摸板的方法
Apr 11 #Javascript
详解react、redux、react-redux之间的关系
Apr 11 #Javascript
Mac下安装vue
Apr 11 #Javascript
vue-cli 组件的导入与使用教程详解
Apr 11 #Javascript
You might like
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
jQuery 技巧小结
2010/04/02 Javascript
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
2012/02/27 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
Django通过json格式收集主机信息
2020/05/29 Python
基于Python实现天天酷跑功能
2021/01/06 Python
大学生应聘自荐信
2013/10/11 职场文书
幼儿园评语大全
2014/04/17 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
高中语文教学反思范文
2016/02/16 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书