Nová ukázka
Reset
Načíst z URL
Uložit a získat odkaz
Vztahuje se k…
Nevyplňujte
Napiště „nejsem robot“
▶
Přepnout zobrazení
Výsledek
<button onclick="gen()">Generuj</button> <div id="result"></div>
HTML
Autoformát
Standardní režim
Mobilní zobrazení
CSS
Autoformát
CSS reset
Až na konci
var data = [ ['a','b','c','d','e','f'], ['b','c','d'], ['a','b','c','d','e','f','g','h','i'], ['d','e'], ['e'] ]; function removeX(data, x, start) { var wereX = []; for (var i = start; i < data.length; i++) { var index = data[i].indexOf(x); if (index > -1) { data[i].splice(index, 1); wereX.push(i); } } return wereX; } function putBackX(data, x, wereX) { for(var i = 0; i < wereX.length; i++) { data[wereX[i]].push(x); } } function shuffle(arr) { for (var i = arr.length - 1; i >= 0; i--) { var tmp = arr[i]; var rnd = Math.floor(Math.random() * (i + 1)); arr[i] = arr[rnd]; arr[rnd] = tmp; } } function srr(data, start, randomize) { if (data.length == start) { return []; } var arr = data[start]; if (randomize) { shuffle(arr); } for (var i = 0; i < arr.length; i++) { var x = arr[i]; var wereX = removeX(data, x, start + 1); var result = srr(data, start + 1, randomize); putBackX(data, x, wereX); if (result !== false) { result.push(x); return result; } } return false; } function gen() { var result = srr(window.data, 0, true); var str = ""; if (result !== false) { for (var i = result.length - 1; i >= 0; i--) { str += result[i]; str += '<br>'; } } else { str = "Řešení neexistuje"; } document.getElementById('result').innerHTML = str; }
J
ava
S
cript
Autoformát
jQuery
Umístění JS
window.onload
</head>
</body>