首页 > 编程 > JavaScript > 正文

JS实现的合并多个数组去重算法示例

2019-11-19 14:01:54
字体:
来源:转载
供稿:网友

本文实例讲述了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));

运行结果:

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));

运行结果:

//合并多个数组,去重,排序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));

运行结果:

PS:这里再为大家提供几款相关工具供大家参考使用:

在线去除重复项工具:
http://tools.VeVB.COm/code/quchong

在线文本去重复工具:
http://tools.VeVB.COm/aideddesign/txt_quchong

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.VeVB.COm/aideddesign/paixu_ys

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript排序算法总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结

希望本文所述对大家JavaScript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表