检查两个数组是否相等

时间:2018-09-23 09:45:51

标签: arrays appscript

我正在尝试确定两个数组的第一部分是否相等。记录器将它们显示为相同,但仍返回FALSE。这样无法比较数组吗?

function equality() {
var one = [['Name, Class'],['One', 'Two']];
var two = ['Name, Class'];
Logger.log(one[0]);
Logger.log(two);
 if (one[0]===two) {
  Logger.log('TRUE') 
 }
 else {
 Logger.log('FALSE'); 
 }
}

2 个答案:

答案 0 :(得分:1)

您不能仅使用相等运算符来比较两个JavaScript数组,因为它们是对象。它们可以用于null和undefined检查,但是在彼此进行检查时会失败。

我最常用的一种方法是使用JSON.stringify(obj)对它们进行字符串化处理。

您的情况可能是这样的:-

if(JSON.stringify(one[0]) == JSON.stringify(two))

这将为您提供期望的结果。

答案 1 :(得分:0)

在这种情况下,必须使用==运算符等于,并且And数组需要指定哪个对象

使用以下代码

function myFunction() {
    var one = [['Name, Class'],['One', 'Two']];
    var two = ['Name, Class'];
    Logger.log(one[0]);
    Logger.log(two);
    if (one[0]==two[0]) {
        Logger.log('TRUE') 
    }
    else {
        Logger.log('FALSE'); 
    }
}