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. js入门第一篇

    简介:JavaScript 运行在客户端(浏览器)是一种客户端语言,javascript的引擎被称为JavaScript引擎,为浏览器的一部分广泛用于客户端的脚本语言 应用场景:网页特效, 服务端开发 ...

  2. linux shell数值比较和字符串比较

    说明: 1. 把字符串当成整型进行比较,由于abcd等字符对不上0123当程序尝试去转成二进制时无法完成转换,所以用于数值比较的运算不能用于字符串比较:但是把整型当成字符串进行比较,0123这些数值完 ...

  3. 通过Nginx统计网站的PV、UV、IP

    转载:通过Nginx统计网站的PV.UV.IP 概念 UV:独立访客:以cookie为依据,假设一台电脑装有3个不同的浏览器,分别打开同一个页面,将会产生3个UV.PV:访问量:页面每访问或刷新一次, ...

  4. char str = '1.2.';问题

    偶然看到群里老哥问道这个问题 #include <iostream> using namespace std; int main() { char str = '1.2.'; ; } 什么 ...

  5. 常用的virsh管理命令

    常用的virsh管理命令 列出所有的虚拟机 [root@ubuntu ~]# virsh list --all 显示虚拟机信息 [root@ubuntu ~]# virsh dominfo CentO ...

  6. Scyther 形式化分析工具资料整理(三)

    1.作者Cas Cremers在做TLS1.3的时候我么发现并没有使用Scyther 形式化丰分析工具对其进行分析,而是使用了 The Tamarin .作者建立了TLS.13的模型. 那么我的目标是 ...

  7. iptables详解说明

    Iptabels是与Linux内核集成的包过滤防火墙系统,几乎所有的linux发行版本都会包含Iptables的功能.如果 Linux 系统连接到因特网或 LAN.服务器或连接 LAN 和因特网的代理 ...

  8. 5-修改windows的远程桌面端口3389

    一.注意点 1.Windows远程桌面端口默认是3389,是一个高危端口,所以需要改为其他的: 2.修改完注册表后,要重启机器,才能生效: 二.操作步骤 1.打开注册表 命令:regedit 2.进入 ...

  9. windows builder里面的可伸缩面板

    使用 org.eclipse.wb.core.controls.flyout.FlyoutControlComposite.FlyoutControlComposite类 构造方法中传入的prefer ...

  10. C语言calloc()函数:分配内存空间并初始化——stm32中的应用

    经常在代码中看到使用malloc来分配,然后memset清零,其实calloc更加方便,一句顶两句~ 头文件:#include <stdlib.h> calloc() 函数用来动态地分配内 ...