Arrays GoogleApps脚本中数组的比较
我有以下两个清单:Arrays GoogleApps脚本中数组的比较,arrays,google-apps-script,comparison,Arrays,Google Apps Script,Comparison,我有以下两个清单: array_main = [[01-0158969,315],[01-0161045,699],[01-0161046,500]] array_helper_both = [[01-0158969,315],[01-0161045,699],[01-0161050,500]] 我尝试比较array_main和array_helper_两者,如果有任何差异(array_main中存在元素,但array_helper_两者中不存在元素),那么我尝试将其添加到array_help
array_main = [[01-0158969,315],[01-0161045,699],[01-0161046,500]]
array_helper_both = [[01-0158969,315],[01-0161045,699],[01-0161050,500]]
我尝试比较array_main和array_helper_两者,如果有任何差异(array_main中存在元素,但array_helper_两者中不存在元素),那么我尝试将其添加到array_helper_两者中。例如,“01-0161046”在数组_main中,但不在数组_helper中
因此,两个结果都是:
[[01-0158969,315],[01-0161045,699],[01-0161050,500],[01-0161046,500]]
这是我尝试过但似乎不起作用的代码:
var list3 = array_helper_both.filter(x => !array_main.includes(x));
var list4 = array_helper_both.concat(array_main.filter(x => !array_helper_both.includes(x)));
如有任何线索/建议,我们将不胜感激。如果是平面阵列,这将有效。但它们是二维阵列。不能将两个二维数组当作仅为1D数组和一些值来比较
if(some_数组.includes(some_值))
在这种情况下,您可能会将内部弦乐变成扁平弦:
[01-0158969315]
-->“01-0158969315”
要比较这些值,然后将这些值转换回数组,请执行以下操作:
“01-0158969315”
-->[01-0158969315]
您必须比较两个数组(主数组中的元素和辅助数组中的元素)。最简单的选择是使用:
有关可能(可能更好)的替代方案,请参见以下线程:
var array_helper_both_string = array_helper_both.map(val => JSON.stringify(val));
var list4 = array_helper_both.concat(array_main.filter(x => !array_helper_both_string.includes(JSON.stringify(x))));