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 相关文章推荐
Flash+XML滚动新闻代码 无图片 附源码下载
Nov 22 Javascript
在javascript将NodeList作为Array数组处理的方法
Jul 09 Javascript
javascript object array方法使用详解
Dec 03 Javascript
JS中获取数据库中的值的方法
Jul 14 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
May 20 Javascript
javascript基本数据类型及类型检测常用方法小结
Dec 14 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
使用vue自定义指令开发表单验证插件validate.js
May 23 Javascript
改变layer confirm弹窗按钮的颜色方法
Sep 12 Javascript
p5.js码绘“跳动的小正方形”的实现代码
Oct 22 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
一个简单的网页密码登陆php代码
2012/07/17 PHP
PHP输出时间差函数代码
2013/01/28 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
php实现excel中rank函数功能的方法
2015/01/20 PHP
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
介绍Python中内置的itertools模块
2015/04/29 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
python使用PyQt5的简单方法
2019/02/27 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
小班幼儿评语大全
2014/04/30 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
2014年财政所工作总结
2014/11/22 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS