如何将 userInput 转换为数字并使用该数字通过 javascript 创建所需的结果?
How convert userInput to a number and use that number to create a desired outcome with javascript?
我是 javascript 的新手,我正在尝试打印带有“#”符号的棋盘。我想问用户 "How wide do you want your chessboard to be?" 当用户输入他们想要的数字时,我想将这个字符串转换为数字,以便我可以用它来创建板。例如,如果用户输入 = 8,控制台将打印如下模式 (8x8):
# # # # # # # #
# # # # # # #
# # # # # # # #
# # # # # # #
# # # # # # # #
# # # # # # #
# # # # # # # #
# # # # # # #
这是我目前拥有的:
var userInput = prompt("How wide do you want your chessboard to be?")
var userInput = Number(userInput)
var string1 = Array(userInput).join(" #")
var string2 = Array(userInput).join("# ")
var newline = "\n"
var counter = 0.5
var chessboard = function () {
console.log(string1 + newline + string2);
};
while (counter <= userInput/2) {
console.log(chessboard);
counter++
};
问题在于您如何调用 chessboard
,您将函数引用传递给 console.log()
,因此它将记录该函数。
由于您的 chessboard
方法打印字符串,只需像
一样调用 chessboard
方法
while (counter <= userInput/2) {
chessboard();
counter++
};
但是这里有一个逻辑问题,如果用户输入7
会发生什么,所以
var elboard = document.getElementById('board');
var userInput = prompt("How wide do you want your chessboard to be?");
var userInput = Number(userInput);
var string1 = Array(userInput + 1).join(" #")
var string2 = Array(userInput + 1).join("# ")
var newline = "\n"
var chessboard = function(i) {
var string = i % 2 == 0 ? string1 : string2;
console.log(string)
elboard.appendChild(document.createTextNode(string + '\n'));
};
for (var i = 0; i < userInput; i++) {
chessboard(i);
};
#board {
white-space: pre;
}
<div id="board"></div>
我是 javascript 的新手,我正在尝试打印带有“#”符号的棋盘。我想问用户 "How wide do you want your chessboard to be?" 当用户输入他们想要的数字时,我想将这个字符串转换为数字,以便我可以用它来创建板。例如,如果用户输入 = 8,控制台将打印如下模式 (8x8):
# # # # # # # #
# # # # # # #
# # # # # # # #
# # # # # # #
# # # # # # # #
# # # # # # #
# # # # # # # #
# # # # # # #
这是我目前拥有的:
var userInput = prompt("How wide do you want your chessboard to be?")
var userInput = Number(userInput)
var string1 = Array(userInput).join(" #")
var string2 = Array(userInput).join("# ")
var newline = "\n"
var counter = 0.5
var chessboard = function () {
console.log(string1 + newline + string2);
};
while (counter <= userInput/2) {
console.log(chessboard);
counter++
};
问题在于您如何调用 chessboard
,您将函数引用传递给 console.log()
,因此它将记录该函数。
由于您的 chessboard
方法打印字符串,只需像
chessboard
方法
while (counter <= userInput/2) {
chessboard();
counter++
};
但是这里有一个逻辑问题,如果用户输入7
会发生什么,所以
var elboard = document.getElementById('board');
var userInput = prompt("How wide do you want your chessboard to be?");
var userInput = Number(userInput);
var string1 = Array(userInput + 1).join(" #")
var string2 = Array(userInput + 1).join("# ")
var newline = "\n"
var chessboard = function(i) {
var string = i % 2 == 0 ? string1 : string2;
console.log(string)
elboard.appendChild(document.createTextNode(string + '\n'));
};
for (var i = 0; i < userInput; i++) {
chessboard(i);
};
#board {
white-space: pre;
}
<div id="board"></div>