在我的Javascript代码中的元素挣扎



我要做一个脚本,将要求用户输入数字,直到他们键入退出。我有这个工作,但我正在努力与最后的元素,我必须计算条目的数量(不是总和)的用户提交不包括var - quit。

如有任何帮助,不胜感激。

<script>

var userWord = "quit";
var numList = Array();
var total = 0;
do {
userWord = prompt ("Enter a number of the word quit");
userWord = userWord.toLowerCase();
numList.push(userWord);
}
while (userWord != "quit")
document.writeln("<p>");
for (t = 0; t < numList.length - 1; t++) {
document.write(numList[t]);
if (t < numList.length - 2) {
document.writeln(", ");
}
}
document.writeln("</p>");
</script>

有一个更简单的方法。您可以使用Array.prototype.join()将数组转换为带有您选择的分隔符的字符串。

下面是一个这样的例子。还要注意,document.write并不常用。相反,我们可以使用div元素并使用innerHTML属性写入它。

最后是循环。这取决于你,但我通常只是循环永远和break当我收到退出输入。它可以更干净,但这是个人的选择。记住,在你的代码中,你按下了"退出"。字符串放到结果数组中,可能不是您想要的。

<html>
<body>
<div></div>
</body>
<script>
const div = document.querySelector('div');
const numList = [];

while (true) {

const userWord = prompt ("Enter a number of the word quit");
if(userWord == null || userWord.toLowerCase() == 'quit') {
break;
}
numList.push(parseInt(userWord, 10));
}

div.innerHTML = "<p>You typed " + numList.length + 
" numbers: " +  numList.join(', ') + "</p>";

</script>
</html>

检查代码是否能很好地处理非整数输入值是留给读者的练习。

您可以使用numList.length-1来计算在numList数组中存储了多少数字,下面是一个工作示例:


var userWord = "quit";
var numList = Array();
var total = 0;
do {
userWord = prompt ("Enter a number or the word quit");
userWord = userWord.toLowerCase();
numList.push(userWord);
}
while (userWord != "quit")
document.writeln("<p>");
for (t = 0; t < numList.length - 1; t++) {
document.write(numList[t]);
if (t < numList.length - 2) {
document.writeln(", ");
}
}
document.writeln(`<br>You typed ${numList.length-1} number(s)`);
document.writeln("</p>");

相关内容

  • 没有找到相关文章

最新更新