如何警告 javascript 中数组中的单个元素?

How to alert a single element from an array in javascript?

大家好我是新来的,我才刚刚开始学习javascript。

我需要想出一段代码来提醒数组中的单个随机元素。我设法想出了随机元素,但它会从数组中提醒所有十个元素。虽然我需要提醒一个人并停下来。

这是我目前所拥有的。

    var myList = new Array("gusty", "long", "tremendous", "play", "white", 
    "literate", "baboon", "dusty", "government", "cheer");

    for(i = 0; i < myList.length; i++)
    {
        var y = Math.floor(Math.random() * 10);
        alert(myList[y]);
    }

所以当我在浏览器中加载它时,我得到十个随机单词。但我只想要一个。我厌倦了将 var 放入警报中,但这没有做任何事情。

只需删除 for 循环。由于您使用索引 (myList[y]) 引用数组中的元素,因此您不需要 for 循环。

var myList = new Array("gusty", "long", "tremendous", "play", "white",
  "literate", "baboon", "dusty", "government", "cheer");

var y = Math.floor(Math.random() * 10);
alert(myList[y]);

您通常会使用 for 循环来重复某个任务。因此,在您的原始代码中,您将生成 10 个随机数,从而从数组中访问 10 个随机项。如果你只需要一个,你可以简单地删除循环。

如果您只想提醒一个,则无需循环。该循环导致每次选择一个随机值并发出警报。

您还可以进行一些其他优化。

//we don't normally use new Array() without good reason; use an array literal
//i.e. [1, 2, 3, 'foo'] instead
var myList = ["gusty", "long", "tremendous", "play", "white", 
"literate", "baboon", "dusty", "government", "cheer"];

//remove the loop - and instead of hard-coding 10, let's read the actual length
var y = Math.floor(Math.random() * myList.length);
alert(myList[y]);

Here's a wider discussion 数组文字与通过 Array() 构造函数创建的数组。