2017-08-06 8 views
2

私は別のジェネレータから適用したMath.random関数を使用して、単語リストのいくつかの配列からランダムなムービープロットを生成するためにJavascriptを使用しています。このコードは、名前の配列からメインキャラクタのランダムな名前を生成します。この同じ名前をプロットの他の部分でも繰り返す必要があります。フレッドという名前が当初選択されていれば、フレッドはいくつかの文で言います。名前の後続インスタンスに同じ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

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>

+0

おかげDijと、それは素晴らしいことです! :) – Thoughtcat

+0

@Thoughtcatあなたが歓迎されている場合は、答えを受け入れることを検討してください。乾杯! – Dij

関連する問題