Как я могу сделать массив истинным или ложным? - PullRequest
0 голосов
/ 19 апреля 2019

На Code.org я пытаюсь создать тест, который выбирает ответ на основе того, что пользователь поместил в массив.Однако, независимо от того, что находится в массиве, оно всегда выходит ложным.

Я пытался изменить инструкцию, чтобы иметь более одного знака равенства, я попытался сделать это в обратном направлении и сделать оператор if if list !== [list] и я попытался удалить цитаты.Ничего не сработало.Я также попытался определить переменную correctlist в операторе if, но она по-прежнему выдает false.

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

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

Всегда выдается как false.

Я ожидал, что консольный журналукажите истинное значение, но оно всегда говорит ложное.

1 Ответ

0 голосов
/ 19 апреля 2019

Вы заметите, что: ["a", "b", "c"] == ["a", "b", "c"] всегда возвращает false.

Это потому, что это два разных массива.Просто потому, что строки элементов совпадают, массивы не одинаковы.

Вам нужно будет либо пройти по элементам для сравнения каждого из них, преобразовать их во что-то, что можно сравнить с помощью простого равенства, либо использовать библиотеку с "глубоким" равенством.

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