1. var arr1 = ['a','b'];
  2. var arr2 = ['a','c','d'];
  3. var arr3 = [1,'d',undefined,true,null];
  4. //合并两个数组,去重
  5. var concat_ = function(arr1,arr2){
  6. //不要直接使用var arr = arr1,这样arr只是arr1的一个引用,两者的修改会互相影响
  7. var arr = arr1.concat();
  8. //或者使用slice()复制,var arr = arr1.slice(0)
  9. for(var i=0;i<arr2.length;i++){
  10. arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
  11. }
  12. return arr;
  13. }
  1. //合并多个数组,去重
  2. var concat = function(arr1,arr2,arr3){
  3. if(arguments.length <= 1){
  4. return false;
  5. }
  6. var concat_ = function(arr1,arr2){
  7. var arr = arr1.concat();
  8. for(var i=0;i<arr2.length;i++){
  9. arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
  10. }
  11. return arr;
  12. }
  13. var result = concat_(arr1,arr2);
  14. for(var i=2;i<arguments.length;i++){
  15. result = concat_(result,arguments[i]);
  16. }
  17. return result;
  18. }
  19. //合并多个数组,去重,排序
  20. var arr1 = [1,6,4,0];
  21. var arr2 = [8,20,7,4.5];
  22. var arr3 = [6,0,7,90,2];
  23. var concat = function(arr1,arr2,arr3){
  24. if(arguments.length <= 1){
  25. return false;
  26. }
  27. var concat_ = function(arr1,arr2){
  28. var arr = arr1.concat();
  29. for(var i=0;i<arr2.length;i++){
  30. arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0;
  31. }
  32. return arr;
  33. }
  34. var result = concat_(arr1,arr2);
  35. for(var i=2;i<arguments.length;i++){
  36. result = concat_(result,arguments[i]);
  37. }
  38. //排序
  39. function sortNumber(a,b){
  40. return a - b;
  41. }
  42. return result.sort(sortNumber);
  43. }
 
 
//查找两个数组的重复项
代码如下:
    var desk=function(arr1,arr2){
        var arr=[];
        for(var i=0;i<arr2.length;i++){
            if(arr1.indexOf(arr2[i])!==-1){
                arr.push(arr2[i]);
            }
        }
        return arr;
    };
    var a=desk([1,2,4,5,6,7,8],[2,3,4,5,7,8]);
    console.log(a);  //[2,4,6,7,8]

JS合并多个数组去重算法的更多相关文章

  1. javascript数组去重算法-----3

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. javascript数组去重算法-----2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. javascript数组去重算法-----1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. javascript数组去重算法-----5

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. javascript数组去重算法-----4(另一种写法__2)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. javascript数组去重算法-----4(另一种写法)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. javascript数组去重算法-----4

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. JS合并两个数组的方法

    JS合并两个数组的方法 我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况.比如: var a = [1,2,3]; var b = [4,5,6]; 有两个数组a.b,需求是将两个数组合 ...

  9. JS数组去重算法实现

    之前一段时间一直在准备面试, 因而博客太久没更新: 现在基本知识点都复习完毕, 接下来就分享下 面试的一些常见问题: 去正规的互联网公司笔试.面试有很大的概率会碰到 使用javascript实现数组去 ...

随机推荐

  1. 3 webpack 4 加vue 2.0生产环境搭建

    1 在前两篇笔记中已经能把开发环境弄好了,接来下构建他的生产环境 2 使用npm 安装url-loader和file-loader来支持图片和字体 npm install --save-dev url ...

  2. dfs · leetcode-22.产生括号组?

    题面 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...

  3. linux(centos)下安装supervisor进程管理工具

    在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示: 上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署, ...

  4. rsync备份案例

    客户端需求 1.客户端提前准备存放的备份的目录,目录规则如下:/backup/nfs_172.16.1.31_2018-09-02 2.客户端在本地打包备份(系统配置文件.应用配置等)拷贝至/back ...

  5. Kinect for Windows SDK开发入门(二):基础知识 上

    原文来自:http://www.cnblogs.com/yangecnu/archive/2012/03/31/KinectSDK_Application_Fundamentals_Part1.htm ...

  6. Paper Reading:FPN

    FPN 论文:Feature Pyramid Networks for Object Detection 发表时间:2017 发表作者:(Facebook AI Research)Tsung-Yi L ...

  7. NoClassDefFoundError: org/springframework/boot/bind/RelaxedDataBinder

    今天启动springboot的时候发现一个类不能注入RelaxedDataBinder,发现是没有相应的jar包,原因是在版本2.x之后删除了包.所以只要在之后的引用版本中换成2.x之后即可. 查看p ...

  8. 解决 分布式事务中HRESULT:0x8004D025 错误

    最近在开发分布式事务的过程中,碰到 该伙伴事务管理器已经禁止了它对远程/网络事务的支持. (异常来自 HRESULT:0x8004D025)的错误. 后来检查到,原来是数据库服务器的MSDTC 没有设 ...

  9. 0008SpringBoot中的spring.config.location对于运维的用处

    在工作过程中,若项目已经打好包,application.properties中的配置文件已经不能修改,但是还是需要修改一些参数或者新增一些参数的情况下怎么办? 可以单独再定义一个配置文件,比如定义名称 ...

  10. Python+request+ smtplib 测试结果html报告邮件发送(下)《六》

    目录结构如下: 1.cfg.ini的配置信息写法如下: [email] ;--------------------------使用腾讯企业邮箱作为发件人的操作如下------------------- ...