Когда я запускаю его с любым значением для customerNumber, он всегда возвращает первое предупреждающее сообщение в инструкции if. Что здесь не так?JavaScript: почему boolean всегда возвращает true
var customerNumbers = 13;
var winningNumbers = [];
winningNumbers.push(12, 17, 24, 37, 38, 43);
var match = false;
for (i=0; i<winningNumbers.length; i++) {
if (winningNumbers[i] == customerNumbers) {
match = true;
}
}
if (match = true) {
alert("This Week's Winning Numbers are:\n" + winningNumbers.toString() +
"\nThe Customer's Number is:\n" + customerNumbers + "\nWe have a match and a winner!");
}
else {
alert("This Week's Winning Numbers are:\n" + winningNumbers.toString() +
"\nThe Customer's Number is:\n" + customerNumbers + "\nSorry, you are not a winner this week.");
}
'if (match = true)' -> 'if (match === true)' Это должно быть просто 'if (match)'. –
Упс! Так просто, спасибо! – cfleming93
Должно просто быть 'if (match) {' - поскольку вы создали логическое значение, просто используйте его напрямую. Никакого сравнения не требуется. – Pointy