首页 >web前端 >js教程 >JS在合并多个数组时如何去重

JS在合并多个数组时如何去重

php中世界最好的语言
php中世界最好的语言原创
2018-06-08 14:45:263253浏览

这次给大家带来JS在合并多个数组时如何去重,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));

运行结果:

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

react props与state属性实战案例详解

vue-simplemde做出图片拖拽、粘贴

以上是JS在合并多个数组时如何去重的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn