编程语言
首页 > 编程语言> > javascript-如何在App脚本中比较2个数组

javascript-如何在App脚本中比较2个数组

作者:互联网

我找不到如何在应用程序脚本中比较两个数组的方法,所以这是我想出的(使用stackoverflow的Q& A方法).

我想要一个函数来显示与数组2相同但与数组2不同的数组1的内容.

如果有人有更有效的方法,请发表.

解决方法:

我发现这更加简洁,如果您要进行大量记录,则速度会更快.如果您不关心仅通过使用主数组而不是将它们复制到相同/差异中来保留主数组,则可以加快速度.
它通过从差异中删除已找到的相同对象,然后从差异中删除并将不同的对象添加到差异区域中来工作.

//
function exampleCopareArrays(){
  var array1 = [1,2,3,5];
  var array2 = [5,1,4,6];
  var same = array1;
  //Set Same array = to 1 we will be deleting here
  var diff =array2;
  //Set dif array as one we will be adding too.
  var matchfound = false;


  for (var i=0; i < same.length; i++)
  {

    matchfound=false;
    for (var p=0;p < diff.length;p++)
    {

    if (same[i] == diff[p])
    {
      diff.splice(p,1);
      matchfound=true;
      continue;
    }
    }
    if (matchfound==false)
    {
      diff.push(same[i]);
      same.splice(i, 1)
      i=i-1;
    }
  }
  same.sort();
  diff.sort();
  Logger.log(same);
  Logger.log(diff);; 
}

标签:javascript,arrays,google-apps-script
来源: https://codeday.me/bug/20191013/1904689.html