获取某些字符 JavaScript 的所有可能组合
get all possible combinations of some characters javascript
所以如果 a 有 A, B, C,我想创建一些长度为 4 的字符串
所以输出将是
AAAA
AAAB
AAAC
AABA
AABB
AABC
ABAB
....
CCCC
有一些评论,所以你可以理解这一点。感谢 http://www.walmik.com/2013/03/rearrange-letters-of-a-word/
function permutate(theWord){
//Array to store the generated words
var words = [];
/**
* Recursive function to split a string and rearrange
* it's characters and then join the results
*/
function rearrange(str, prefix) {
var i, singleChar, balanceStr, word;
//The first time round, prefix will be empty
prefix = prefix || '';
//Loop over the str to separate each single character
for(i = 0; i < str.length; i++) {
singleChar = str[i];
balanceStr = str.slice(0, i) + str.slice(i+1);
//join the prefix with each of the combinations
word = prefix + singleChar + balanceStr;
//Inject this word only if it does not exist
if(words.indexOf(word) < 0) words.push(word);
//Recursively call this function in case there are balance characters
if(balanceStr.length > 1) rearrange(balanceStr, prefix + singleChar);
}
}
//kick start recursion
rearrange(theWord);
return words;
}
var permutatedWord = permutate('goal');
console.log(permutatedWords);
相关文章:
- 有可能过滤来自嵌入式YouTube的声音吗
- Livereload for node.js.有可能吗
- 有可能在来自链接的警报中有一个值吗
- 有可能通过sessionID获得快速会话吗
- 正在对已提取的文档进行填充.有可能吗?如果有,怎么做
- 有可能得到一个大整数实例的自然日志吗
- Ajax与jQuery同步.有可能吗
- 如何使一个Math.random数组元素比另一个数组元素更有可能被选中
- 有可能隐藏同行吗;强制转向/继电器时相互IP
- 如何使用javascript从同一浏览器下的其他页面获取URL?有可能吗
- JavaScript在变量中存储操作?有可能吗
- 我有可能防止黑客使用网络控制台用JavaScript重复调用upvote(AJAX)函数吗
- 有可能过滤extjs图表吗
- 有可能将SYSTEMJS与REQUIREJS结合起来吗
- 有可能让两个变量指向同一个对象吗?(javascript)
- 这有可能对网站进行按键模拟吗
- 如何保存iframe(scrollto)的x和y?有可能吗
- Asp.net按钮事件点击不做回发.有可能吗
- 有可能对对象中的所有键进行原子更新吗?类似于阵列拼接的东西
- 有可能在Chrome扩展中使用ES6吗