我正在嘗試生成字符串的所有可能組合。生成字符串的所有可能組合
例如對於下面的列表:a1q5z!H9,b1q5z!H9,c1q5z!H9,d1q5z!H9,a2q5z!H9 ...等
而不是做很多嵌套循環,我想我會嘗試一些巧妙的MODULO。但是撞牆了。
這是我想出來的Javascript - 我可以繼續下去的任何指針?
var c = [
['a', 'b', 'c', 'd'],
['1', '2', '3', '4'],
['q', 'w', 'e', 'r'],
['5', '6', '7', '8'],
['z', 'x', 'c', 'v'],
['!', '"', '£', '$'],
['H', 'J', 'K', 'L'],
['9', '8', '7', '6'],
];
var o = document.getElementById('output');
var pw = "";
var chars = c.length;
for(var i = 0; i <20; i++)
{
pw = ""
for(var j = 0; j < chars; j++)
{
pw += c[j][i%4];
}
op(pw);
}
function op(s)
{
o.innerHTML = o.innerHTML + "<br>" + s;
}
這只是輸出列表中的前20個,但重複...我幾乎擁有它,但不完全。任何幫助或指針讚賞。
爲什麼'c'結構是這樣的? – Cerbrus
我知道字符串連接並不是最有效的,但這是快速且髒的代碼 - 未優化。 – Ruskin
快速和骯髒的字符陣列 - 首先想到的。數據是沒有意義的 - 只是隨機字符 – Ruskin