javascript - JS : Fizz Buzz Sequence Quiz (Display last element in series as Integer in case it equals to Fizz, 嗡嗡声或嘶嘶声)

标签 javascript fizzbuzz

我正在创建一个基于 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 fizzBu​​zzLastElement = fizzBu​​zzArray[fizzBu​​zzArray.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; 
}

关于javascript - JS : Fizz Buzz Sequence Quiz (Display last element in series as Integer in case it equals to Fizz, 嗡嗡声或嘶嘶声),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59592454/

相关文章:

lambda - 使用 JDK8 Lambda 的 FizzBu​​zz

Javascript Fizzbuzz 问题

javascript - JavaScript 中的构建器设计模式

javascript - 我应该将 JavaScript 的加载屏幕脚本放在 HTML 文档上的什么位置?

Javascript 不从单选按钮和隐藏框读取值

arrays - 将元素添加到新数组 Ruby

javascript - 判断一个数是否可​​以被 3 或 5 整除 (FizzBu​​zz)

javascript - Chrome下拉列表问题

javascript - 如何将javascript中的数字格式化为两位小数?

python - 在 fizzbuzz 中,为什么使用字典的程序认为 0 是 fizzbuzz?