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 相关文章推荐
js弹出框轻量级插件jquery.boxy使用介绍
Jan 15 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
简单的JavaScript互斥锁分享
Feb 02 Javascript
使用Promise解决多层异步调用的简单学习心得
May 17 Javascript
Bootstrap基本样式学习笔记之表单(3)
Dec 07 Javascript
vue.js全局API之nextTick全面解析
Jul 07 Javascript
用p5.js制作烟花特效的示例代码
Mar 21 Javascript
JQuery中queue方法用法示例
Jan 31 jQuery
Vue组件系列开发之模态框
Apr 18 Javascript
vue中引入mxGraph的步骤详解
May 17 Javascript
vue通信方式EventBus的实现代码详解
Jun 10 Javascript
jQuery表单选择器用法详解
Aug 22 jQuery
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
windows中为php安装mongodb与memcache
2015/01/06 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
由Javascript实现的页面日历
2011/11/04 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
chrome调试javascript详解
2015/10/21 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
详解js中==与===的区别
2017/01/08 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
js实现登录与注册界面
2017/11/01 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
Python_LDA实现方法详解
2017/10/25 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
python代码如何注释
2020/06/01 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
七匹狼男装广告词
2014/03/21 职场文书
社区活动总结报告
2014/05/05 职场文书
小学运动会报道稿
2015/07/22 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫