javascript - JS:Fizz Buzz Sequence Quiz(将系列中的最后一个元素显示为整数,以防它等于 Fizz、Buzz 或 Fizz Buzz)
问题描述
我正在创建一个基于 Fizz Buzz 序列的测验,用户需要在其中猜测系列中的最后一个元素。
示例:422、嘶嘶声、424、嗡嗡声、?
可能的答案应该是:
- 嘶嘶声
- 嗡嗡声
- 嘶嘶声
- 整数
这就是我卡住的地方,以防最后一个元素是 int(不是 Fizz、Buzz、Fizz Buzz),因为可能的答案是正确的,所以一切都很好。但是,如果它是一个单词,我会得到与当前代码重复的单词,这使得用户很容易猜出正确的答案。我想要做的是,如果最后一个元素是单词之一,我想显示该单词的数字。但我不知道该怎么做。
现在结果是这样的:
示例:422、嘶嘶声、424、嗡嗡声、?
答案:
- 嘶嘶声
- 嗡嗡声
- 嘶嘶声
- Fizz(但应改为显示 426)
function() {
var startNumber = randomNumber(1);
var range = startNumber + 5;
var fizzBuzz = fizzBuzzGenerator(startNumber, range);
var fizzBuzzArray = fizzBuzz.split(",");
var fizzBuzzLastElement = fizzBuzzArray[fizzBuzzArray.length - 1];
contentElement.innerHTML = `
${fizzBuzzArray[0]}, ${fizzBuzzArray[1]}, ${fizzBuzzArray[2]}, ${fizzBuzzArray[3]}, ?
<br>
<input class="checkbox" type="checkbox" name="false" value="Fizz">Fizz<br>
<input class="checkbox" type="checkbox" name="false" value="Buzz">Buzz<br>
<input class="checkbox" type="checkbox" name="false" value="Fizz Buzz">Fizz Buzz<br>
<input class="checkbox" type="checkbox" name="correct" value="${fizzBuzzLastElement}">${fizzBuzzLastElement}<br>
`;
},
// Generates Fizz Buzz sequence
function fizzBuzzGenerator(start, stop) {
var fizzBuzzString = "";
for (let i = start; i < stop; i++) {
if (i % 3 == 0 && i % 5 == 0) {
fizzBuzzString += "Fizz Buzz" + ",";
} else if (i % 3 == 0) {
fizzBuzzString += "Fizz" + ",";
} else if (i % 5 == 0) {
fizzBuzzString += "Buzz" + ",";
} else {
fizzBuzzString += i + ",";
}
}
fizzBuzzString = fizzBuzzString.slice(0, -1);
return fizzBuzzString;
}
解决方案
var fizzBuzzLastElement = fizzBuzzArray[fizzBuzzArray.length - 1];
用。。。来代替
var fizzBuzzLastElement = fizzBuzzArray[fizzBuzzArray.length - 1];
// if last element is one of fizz/buzz/fizz buzz word then show the number.
// if start is 422, range is 427, then last element will be range - 1
if (fizzBuzzLastElement.includes('zz')) {
fizzBuzzLastElement = range - 1;
}
推荐阅读
- gcc - gfortran:错误:libgfortran.spec:没有这样的文件或目录
- angular - 尽管所有代码看起来都不错,但 ngModel 绑定和 ngForm 导入问题。面对更多更奇怪的问题,任何 Angular 版本问题?
- java - 文本文件的最后一行未正确存储到二维数组中
- laravel - 为什么发送邮递员 GET 请求比在浏览器中访问同一端点要慢?
- javascript - 更改页面 javascript 代码 (TamperMonkey) 以将键盘敲击发送到父 DOM
- c# - 响应式应用程序
- ant - ant生产后如何更改*.properties
- ios - 当前视图控制器无法在真实设备上运行
- java - Try/catch 块和降雨平均程序中的 if 语句
- javascript - 在 JS 中作为参数传递时访问数组