Google apps script 检查两个数组是否具有相同顺序的相同值

Google apps script 检查两个数组是否具有相同顺序的相同值,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我已经看过其他的帖子,这些帖子应该已经解决了这个问题,但是这种方法对我来说仍然不起作用。 我在编写一个更大的程序时遇到了一个错误,但我将错误缩小到了这个方法 我将一个单元格设置为=isMatch({1,2,3},{1,2,3}),以验证我的方法是否有效。单元格计算为False,我不知道为什么或如何修复它 在检查stackoverflow之前,我最初编写的代码与本文的答案相同 这是我目前拥有的代码 function isMatch(arr1,arr2){//Returns True if same

我已经看过其他的帖子,这些帖子应该已经解决了这个问题,但是这种方法对我来说仍然不起作用。 我在编写一个更大的程序时遇到了一个错误,但我将错误缩小到了这个方法

我将一个单元格设置为=isMatch({1,2,3},{1,2,3}),以验证我的方法是否有效。单元格计算为False,我不知道为什么或如何修复它

在检查stackoverflow之前,我最初编写的代码与本文的答案相同

这是我目前拥有的代码

function isMatch(arr1,arr2){//Returns True if same Array values in same location
  if(arr1.length !== arr2.length)
        return false;
    for(var i =0; i<arr1.length; i++) {
        if(arr1[i] !== arr2[i])
            return false;
    }

    return true;
}
函数isMatch(arr1,arr2){//如果相同位置中的数组值相同,则返回True
如果(arr1.length!==arr2.length)
返回false;

对于(var i=0;i您正在比较一个2D数组。
{1,2,3}
==
[[1,2,3]]
而不是
[1,2,3]

要比较n维数组,可以递归:

功能isMatch(arr1、arr2){
if(arr1的类型!==arr2的类型)
抛出新的TypeError('数组或元素不属于同一类型!');
if(Array.isArray(arr1))
返回(
arr1.length===arr2.length&&arr1.every((e,i)=>isMatch(e,arr2[i]))
);
返回arr1==arr2;
}
console.info(isMatch([[1]、[2]]、[[1]、[2]]);
console.info(isMatch([[1,2]],[[1,2]]);

console.info(isMatch([[1,2]],1));
也签出这个
isMatch({1,2,3},{1,2,3})
应该是这个
isMatch([1,2,3],[1,2,3])
@Cooper这是一个谷歌表单公式数组。在表单中,
={1,2}
在公式中是
[[1,2]
,而
{1,2}/code>是
,[2]]
。您可以直接在表格中键入以查看谢谢。您可以看出我不太使用公式。