[英]Only the first answer of an array of objects returning true in a trivia game, rather than the correct answer in Javascript
[英]Output in div, prints objects in array, but first answer is “Undefined”. - Javascript
我对此很陌生,并且希望对此有所了解:
每当我运行此代码时(PS:boardGames,是单独文档中的数组)
似乎可行,但第一个答案始终是“未定义”。 这是为什么? 以及如何解决?
谢谢!
var message;
var games;
var search;
var i;
function print(message) {
var outputDiv = document.getElementById('output');
outputDiv.innerHTML = message;
}
function gamestoPlay( games ) {
var topGames = '<h3> Game: ' + boardGames[i].name +'</h3>';
topGames += '<p> Minimum Players: ' + boardGames[i].idealMinPlayers + '</p>';
topGames += '<p> Maximum Players: ' + boardGames[i].idealMaxPlayers + '</p>';
return topGames
}
search = parseInt(prompt('How many people are coming?'));
for (i = 0; i < boardGames.length; i += 1) {
games = i;
if ( search >= boardGames[i].idealMinPlayers && search <= boardGames[i].idealMaxPlayers) {
message += gamestoPlay();
print(message);
}
}
因为您没有初始化message
。
当你做
message += gamesToPlay();
它首先必须将message
转换为字符串,以便可以将其连接起来。 由于您没有初始化message
,因此它的值是undefined
,当将其转换为字符串时,它的值变为"undefined"
,然后将gamesToPlay()
的结果连接到该消息上。
将初始化更改为:
var message = "";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.