2014-07-15 16 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?

相关问题