Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从列表中随机选取一项_Javascript_Random - Fatal编程技术网

Javascript 从列表中随机选取一项

Javascript 从列表中随机选取一项,javascript,random,Javascript,Random,我正在学习Javascript,我需要一些帮助。我有一张单子。我试着制作一个列表,你可以通过点击一个按钮,从列表中随机获得一首歌曲,但它似乎不起作用。下面是我的清单,我做错了什么 随机音乐 var song=数组(“song1”、“song2”、“song3”、“song4”、“song5”、“song6”); var randomSong=song[Math.floor(Math.random()*song.length)]; 下面的方法显示了如何在javascript中获取随机项: c

我正在学习Javascript,我需要一些帮助。我有一张单子。我试着制作一个列表,你可以通过点击一个按钮,从列表中随机获得一首歌曲,但它似乎不起作用。下面是我的清单,我做错了什么


随机音乐
var song=数组(“song1”、“song2”、“song3”、“song4”、“song5”、“song6”);
var randomSong=song[Math.floor(Math.random()*song.length)];

下面的方法显示了如何在javascript中获取随机项:

const songs=[“song1”、“song2”、“song3”、“song4”、“song5”、“song6];
函数findSong(){
让randomIndex=Math.floor(Math.random()*songs.length);
document.getElementById(“randomSong”).setAttribute(“值”,歌曲[randomIndex]);
}

随机音乐

您的代码几乎是正确的。以下是一个正确的版本:

HTML

修改:

  • 将随机代码包装到函数中(按钮的
    onclick
    属性引用的函数)
  • 将结果分配给输入

注意java!=javascript。我帮你修好了。ops,我会修好我的第一个问题,第二个问题是没有
sange
变量。另一个问题是,你没有对所选歌曲、按钮或输入进行任何操作(顺便说一句,它的HTML格式不正确)。你的JS代码可以工作,你只需要将其放回HTML中,然后就完成了。Shitsu的答案更准确,请投票给他,因为我没有足够的声誉。是的,这个答案不正确。由于Math.random()返回一个介于包含0和排除1之间的浮点值,因此将其乘以(song.length-1)(在本例中为5)将得到一个介于包含0和排除5之间的数字,并且它将给出介于0和4之间的整数,完全忽略最后一项。
<div>
  <button type="randomSong" onclick="randomSong()">Random Music</button>
  <input name="randomSong" id="randomSong">
</div>
var song = Array("song1", "song2", "song3", "song4", "song5", "song6");

function randomSong() {
  var randomSong = song[Math.floor(Math.random() * song.length)];
  document.getElementById('randomSong').value = randomSong;
}