首页 > 解决方案 > 如何使数组为真或假?

问题描述

在 Code.org 上,我正在尝试进行一个测验,根据用户在数组中放置的内容来选择答案。但是,无论数组中有什么,它总是错误的。

我尝试将语句更改为具有多个等号,尝试向后执行并制作 if 语句if list !== [list],并尝试删除引号。没有任何效果。我也尝试correctlist在 if 语句中定义变量,但这仍然产生错误。

var mylist = ["a". "b", "c"];
var correctlist;

 if (mylist == ["a", "b", "c"]) {
  correctlist = true;
} else {
  correctlist = false;
}
console.log(correctlist);

它总是以虚假的形式出现。

我希望控制台日志显示为真,但它总是显示为假。

标签: arraysif-statementarraylistbooleanapp-lab

解决方案


你会注意到:["a", "b", "c"] == ["a", "b", "c"] 总是返回 false。

那是因为这是两个不同的数组。仅仅因为元素字符串匹配,数组就不一样了。

您将需要遍历元素以比较每个元素,将它们转换为可以通过普通相等比较的东西,或者使用具有“深度”相等的库。

JSON.stringify(["a", "b", "c"]) == JSON.stringify(["a", "b", "c"])

推荐阅读