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. vue 实现的评分小星星组件,包括半星

    github源码地址:https://github.com/13476075014/node-vue/blob/master/mynodeproject/13.sell/sell/src/compon ...

  2. 【OGG 故障处理】 丢失归档恢复

    OGG 有两天由于某种原因没有启动,而这段时间的备份文件缺失了一部分归档.恢复过程记录如下: GGSCI (xxxx) > info all Program Status Group Lag a ...

  3. springboot系列(三) 启动类中关键注解作用解析

    一.Springboot:请求入口 @SpringBootApplication @EnableAspectJAutoProxy @EnableScheduling @EnableTransactio ...

  4. 优秀技术Leader应具备的六项能力

    技术Leader是互联网公司中,战斗在一线的技术领导者,技术Leader们能力的强弱,决定着公司整个技术团队的战斗力,结合我之前管理上百人技术团队的经验,谈谈我心目中优秀技术Leader五个方面的能力 ...

  5. nginx负载均衡简单实例

    nginx分配服务器策略 1.轮询(默认) 每一个请求按时间顺序逐一分配到不同的祸端服务器,如果后端服务器 down 掉,能自动抵触 2.weight(权重) weight代表权重,默认为1,权重越高 ...

  6. Paper Reading:个性化推荐系统的研究进展

    论文:个性化推荐系统的研究进展 发表时间:2009 发表作者:刘建国,周涛,汪秉宏 论文链接:论文链接 本文发表在2009,对经典个性化推荐算法做了基本的介绍,是非常好的一篇中文推荐系统方面的文章. ...

  7. Mysql 语法豆知识

    https://www.cnblogs.com/chentianwei/p/8093748.html mysql增加了大量语法,以前没有接触过.比如 create function begin..en ...

  8. 正则的lastIndex 属性

    简介:正则的lastIndex 属性用于规定下次匹配的起始位置. 注意: 该属性只有设置标志 g 才能使用. 上次匹配的结果是由方法 RegExp.exec() 和 RegExp.test() 找到的 ...

  9. 22-系统SQL整理

    1.查看内存使用情况 select * from sys.dm_os_sys_memory 2.查看当前进程的情况 select * from  sys.sysprocesses 3.查看非系统进程的 ...

  10. POP3与SMTP以及python实现邮件的发送

    什么是POP3协议: POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议.它是因特网 ...