我有一个带有以下行的外部js:
var postmessage = "hi my favorite site is http://google.com";
但有没有办法从数组中随机选择一个网站,就像这样
var postmessage = "hi my favorite site is +'random'";
random= http://google.com, http://yahoo.com, http://msn.com, http://apple.com
我如何让它发挥作用?
答案 0 :(得分: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;
创建一个网站数组,然后从数组中选择一个元素。您可以通过使用Math.random()
选择一个随机数来实现此目的,它会给出大于或等于0且小于1的结果。乘以数组的长度,然后取floor(即,只取整数部分,删除任何小数点),这样你将得到一个比数组长度小0到1的数字(这将是你的数组的有效索引)。使用该结果从数组中选择一个元素。
答案 1 :(得分:3)
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开始)
答案 2 :(得分:1)
做这样的事情:
function getRandomSite(){
var sites = ["google.com","bing.com","xyz.com","abc.com","example.com"];
var i = parseInt(Math.random()*(sites.length-1));
return sites[i];
};