可能重复:
JavaScript:从数组中获取随机值
我有一个带有以下行的外部js:
var postmessage = "hi my favorite site is http://google.com";
Run Code Online (Sandbox Code Playgroud)
但有没有办法从阵列中随机选择一个网站,就像这样
var postmessage = "hi my favorite site is +'random'";
random= http://google.com, http://yahoo.com, http://msn.com, http://apple.com
Run Code Online (Sandbox Code Playgroud)
我如何使它工作?
Bri*_*ell 23
var favorites = ["http://google.com", "http://yahoo.com", "http://msn.com", "http://apple.com"];
var favorite = favorites[Math.floor(Math.random() * favorites.length)];
var postmessage = "hi my favorite site is " + favorite;
Run Code Online (Sandbox Code Playgroud)
创建一个站点数组,然后从数组中选择一个元素.你可以通过选择一个随机数来实现这一点Math.random(),它会给你一个大于或等于0且小于1的结果.乘以你的数组的长度,然后采取发言权(即只取整数部分,下降任何小数点),所以你将有一个从数组长度0到1的数字(这将是你的数组的有效索引).使用该结果从数组中选择一个元素.
var sites = new Array('http://www.google.com', "http://www.stackoverflow.com")
var postmessage = "hi my favorite site is" + sites[Math.round(Math.random()*(sites.length-1))];
首先将所有站点放入一个数组中。然后从数组长度中获取一个随机数(-1 是因为数组的索引为零,并且返回的长度从 1 开始)