在Code.org上,我试图进行一个测验,以根据用户在数组中放置的内容来选择答案。但是,无论数组中是什么,它总是错误的。
我尝试将语句更改为具有多个等号,我尝试向后进行处理,并制作if语句if list !== [list]
,并尝试删除引号。没事。我也尝试过在if语句中定义correctlist
变量,但这仍然会产生false。
var mylist = ["a". "b", "c"];
var correctlist;
if (mylist == ["a", "b", "c"]) {
correctlist = true;
} else {
correctlist = false;
}
console.log(correctlist);
它总是以假的形式出现。
我希望控制台日志显示为true,但始终显示为false。
答案 0 :(得分:0)
您会注意到:["a", "b", "c"] == ["a", "b", "c"]
总是返回false。
这是因为这是两个不同的数组。仅仅因为元素字符串匹配,所以数组是不一样的。
您将需要遍历元素以进行比较,将它们转换为可以通过普通等式进行比较的内容,或者使用具有“深”等价物的图书馆。
JSON.stringify(["a", "b", "c"]) == JSON.stringify(["a", "b", "c"])