如何从数组中生成随机字符串然后“记住”它?

时间:2017-08-06 20:39:23

标签: javascript random

我正在使用Javascript从几个单词列表数组生成随机电影图,使用Math.random函数,我从另一个生成器改编而来。代码从名称数组生成主角的随机名称,我需要在图的其他部分重复这个相同的名称,例如如果在开始时选择弗雷德这个名字,那么我需要用其他一些句子来说弗雷德。如果我只是为名称的后续实例使用相同的Math.random函数,我有时会从列表中获取一个新的随机名称。有没有办法“记住”在开始时选择的随机名称,并随时显示它?代码示例:

<html>
<input type="button" value="Generate" onclick="GetPlot()">
<textarea name="plot" id ="plot" cols="100" rows="25"></textarea>
<script type="text/javascript">
function GetPlot(){
var Name = new Array("Fred", "John", "Roger");
var n = "";
n = n + Name[Math.round(Math.random()*(Name.length-1))];
n = n + " is the lead character." + Name[Math.round(Math.random()*(Name.length-1))] + " is wanted by the FBI.";
document.getElementById('plot').value = n;
}
</script>
</html>

1 个答案:

答案 0 :(得分:1)

Math.random()每次使用时都会生成不同的数字。你可以保存一次生成的随机数并再次使用它。无论如何,你将名字存储在n中,你可以在制作句子时再次使用它。

<html>
<input type="button" value="Generate" onclick="GetPlot()">
<textarea name="plot" id ="plot" cols="100" rows="25"></textarea>
<script type="text/javascript">
function GetPlot(){
var Name = new Array("Fred", "John", "Roger");
var randomIndex = Math.round(Math.random()*(Name.length-1));
var n = "";
n = n + Name[randomIndex];
n = n + " is the lead character." + n + " is wanted by the FBI.";
document.getElementById('plot').value = n;
}
</script>
</html>