我找不到如何在应用程序脚本中比较两个数组,所以这就是我想到的(使用 stackoverflow 的问答方法)。
我想要一个函数来显示数组 1 中与数组 2 相同且与数组 2 不同的内容。
如果有人有更有效的方法,请发布。
最佳答案
我发现这更简洁,如果您要进行大量记录,则速度更快。如果您不关心保留主数组,只需使用它们而不是将它们复制到相同/差异中,您可以更快地加快速度。 它的工作原理是从差异中删除那些被发现相同的内容,并从相同的内容中删除并将不同的内容添加到差异区域中。
//
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 - 如何在 App 脚本中比较 2 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22209066/