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实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
Oct 30 Javascript
正负小数点后两位浮点数实现原理及代码
Sep 06 Javascript
vue从使用到源码实现教程详解
Sep 19 Javascript
D3.js实现柱状图的方法详解
Sep 21 Javascript
Angular在一个页面中使用两个ng-app的方法
Feb 20 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
angularjs实现搜索的关键字在正文中高亮出来
Jun 13 Javascript
angular或者js怎么确定选中ul中的哪几个li
Aug 16 Javascript
angularjs使用div模拟textarea文本框的方法
Oct 02 Javascript
vue-cli3搭建项目的详细步骤
Dec 05 Javascript
layui使用label标签的方法
Sep 14 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
jquery 页面全选框实践代码
2010/04/02 Javascript
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
制药工程专业应届生求职信
2013/09/24 职场文书
体育活动总结范文
2014/05/04 职场文书
教师考核材料
2014/05/21 职场文书
促销活动总结怎么写
2014/06/25 职场文书
2015国庆节感想
2015/08/04 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL