JavaScript。从随机数组中选取元素

标签 javascript arrays random

我正在尝试制作“颜色猜测”脚本。

<body onload="do_game()">
        <script>
            var color=[blue,gold, grey,hotpink, maroon,olive,pink, purple, red,tan,];
            var random_color;
            var finished = false;
            var guess_input_text;
            var guess_input;
            var random_color = Math.floor(Math.random()*color.length);
            var guess;
            var target;

            do_game(){
                while(!finished){
                    guess_input_text = prompt("I am thinking of one of these colors\n\n"
                                                +color[]\n\n+"What color am I thinking of?\n");
                        target = color.indexOf(random_color);
                        guess_input = parseInt(guess_input_text);

                }
            }


        </script>
    </body>

它一直给我解析错误。 我放置 parseInt 的原因是我想要用户输入颜色。 有没有其他方法可以让用户输入他们猜测的颜色,直到他们正确(应该与目标相同)?

谢谢,

最佳答案

您的代码中有不少语法错误。

var color = ['blue', 'gold', 'grey', 'hotpink', 'maroon', 'olive', 'pink', 'purple', 'red', 'tan'];
var random_color;
var finished = false;
var guess_input_text;
var guess_input;
var random_color = Math.floor(Math.random() * color.length);
var guess;
var target;

function do_game() {
    while (!finished) {
        guess_input_text = prompt("I am thinking of one of these colors\n\n" + color + "\n\nWhat color am I thinking of?\n");
        target = color.indexOf(random_color);
        guess_input = parseInt(guess_input_text);
    }
}

我修复了一些问题:

  • 颜色应该用引号引起来,因为它们是字符串
  • 要打印数组,只需使用变量名称 color,而不是 color[](仅在需要时才使用 color[x]访问索引 x 处的特定项目,其中 x 是整数
  • \n\n 需要作为字符串的一部分放在引号中
  • 声明 do_game() 时缺少 function 关键字

希望这能让您更接近目标。还有一些与语法无关的其他问题:

  • finished 永远不会变为 true,因此您的代码将永远运行(换句话说,无限提示)
  • 我不认为 indexOf正在执行您希望它执行的操作,因为 random_color 是索引,而不是颜色
  • parseInt 在这里是不必要的,因为您正在比较字符串

详细说明最后一点:您希望用户输入一种颜色,该颜色将是一个字符串。如果您想将输入内容转换为数字,请仅使用 parseInt。您已经将用户的猜测存储在 guess_input_text 中,因此您只需使用 === 将其与 target 进行比较即可。

关于JavaScript。从随机数组中选取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34804362/

相关文章:

javascript - 获取请求给出错误

php - 从表中查询记录,其中 attribute = items from array from previous query

arrays - 上下文类型 String、float、f float 不能与数组文字一起使用

javascript - 生成0到1的随机数

arrays - 生成包含范围内的唯一随机数数组

php - 如何使 HTML 按钮的 onclick 事件随机触发两个不同功能之一?

javascript - 在客户端的 js 中使用缓存数据的最佳方式是什么?

javascript - 在使用 angular-file-upload 选择文件之前调用函数

javascript - 如何在 react-native 中播放来自 url 的视频文件

Javascript 数组索引基础