美文网首页
数组的交差并&去重

数组的交差并&去重

作者: Love小六六 | 来源:发表于2017-06-28 20:06 被阅读0次
  1. 数组去重
function array_remove_repeat(arr) { // 去重
    var result = new Array();
    arr.forEach(function(value){
      if(result.indexOf(value)==-1) result.push(value);
    });
    return result;
}
  1. 数组交集
function array_intersection(arrA, arrB) { // 交集
    var result = new Array();
    arrA=array_remove_repeat(arrA);
    arrB=array_remove_repeat(arrB);
    arrA.forEach(function(value){
      if(arrB.indexOf(value)>=0) result.push(value);
    });
    return result;
}
  1. 数组并集
function array_union(arrA, arrB) { // 并集
    var result = new Array();
    arrA=array_remove_repeat(arrA);
    arrB=array_remove_repeat(arrB);
    result = arrB.slice();
    arrA.forEach(function(value){
      if(arrB.indexOf(value)==-1) result.push(value);
    });
    return result;
}
或
    function array_union(a, b) { // 并集
      return array_remove_repeat(a.concat(b));
  }
  1. 数组差集
function array_difference(arrA, arrB) { // 差集
    var result = new Array();
    arrA=array_remove_repeat(arrA);
    arrB=array_remove_repeat(arrB);
    arrA.forEach(function(value){
      if(arrB.indexOf(value)==-1) result.push(value);
    });
    return result;
}

相关文章

网友评论

      本文标题:数组的交差并&去重

      本文链接:https://www.haomeiwen.com/subject/tfqpcxtx.html