我正在尝试确定两个数组的第一部分是否相等。记录器将它们显示为相同,但仍返回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');
}
}
答案 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');
}
}