2014-07-15 24 views
2

我想用帶有Javascript的數組提供的字母隨機生成單詞。
例如,我有一個包含三個字母文字排列:用JavaScript返回超過1的數組值

var letters = ["a", "b", "c"]; 

我想通過指定「返回3個字母」,例如,使亂語:

abc 
cba 
bac 
bba 
ccb 

我做了一個代碼那東西這樣,但只返回1個字母。我想知道是否有辦法返回一定數量的信件?

這裏是我有什麼(很簡單):

var letters = ["a", "b", "c"]; 
var word = letters[Math.floor(Math.random() * letters.length)]; 

我知道我可以做一個數組,並用「ABC」,「CBA」等填充它,但我需要它做的話並提供所提供的數組值。

+0

你可以只調用'字母[Math.floor(的Math.random()* letters.length)]'三次並連接所有的信件。 –

+0

@Felix Kiling.Is random()保證它會返回不同的值 – Ali786

+1

否,但是每次調用該函數時,您將在'[0,1)'範圍內得到* random *值。 –

回答

1

試試這個:

var letters = ["a", "b", "c"]; 
var wordlength = 3; 
var word = ""; 
for(var i = 0; i < wordlength; i++){ 
word += letters[Math.floor(Math.random() * letters.length)]; 
} 
alert(word); 
0

它是一種類型的排列問題,你可以找到這麼多的在線解決方案。並且有一個在java腳本中實現的算法,你可以直接使用它。

請參閱以下有關堆棧溢出的鏈接問題。

Permutation of array

Permutations in JavaScript?

相關問題