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 相关文章推荐
JavaScript中的prototype和constructor简明总结
Apr 05 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
Jun 03 Javascript
轻松5句话解决JavaScript的作用域
Jul 15 Javascript
js 获取范围内的随机数实例代码
Aug 02 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
Aug 23 Javascript
JavaScript实现开关等效果
Sep 08 Javascript
React数据传递之组件内部通信的方法
Dec 31 Javascript
简单说说angular.json文件的使用
Oct 29 Javascript
跨域请求两种方法 jsonp和cors的实现
Nov 11 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
Mar 22 Javascript
JS查找孩子节点简单示例
Jul 25 Javascript
微信小程序整个页面的自动适应布局的实现
Jul 12 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常用函数和常见疑难问题解答
2014/03/05 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
详解PHP数组赋值方法
2015/11/07 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
jQuery中width()方法用法实例
2014/12/24 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
关于Python中异常(Exception)的汇总
2017/01/18 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
四年大学生活的个人自我评价
2013/12/11 职场文书
聚美优品陈欧广告词
2014/03/14 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
小学副班长竞选稿
2015/11/21 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
关于Python中进度条的六个实用技巧分享
2022/04/05 Python