Skrypt losujący liczby bez powtórzeń w podanym zakresie

0

Witam! Próbuję dzisiaj od paru godzin napisać skrypt, który po podaniu zakresu wylosuje X liczb z tego zakresu, wpisze je do tablicy...ale tak aby nie powtarzały się one. Jestem początkujący jeśli chodzi o JavaScript i nie jestem w stanie wymyślić nic ponad to co napisałem już teraz. Każda próba kończyła się tym, że skrypt po prostu nie działał. Mógłby ktoś mi pomóc? Nie proszę o gotowe rozwiązanie (chyba, że ktoś będzie tak miły), ale o szczegółowe wskazówki jak zrobić to co mi jest potrzebne. Z góry dziękuję za pomoc!

Mam skrypt, który wypisuje losowe liczby z tego zakresu ale nie potrafię zrobić tego aby każda z nich była unikatowa.

<DOCTYPE html>
<html>
	<head>
		<script type="text/javascript">
```javascript

	{
		function zakres()
		{
			var MIN = document.getElementById('a1').value;
			var MAX = document.getElementById("b1").value;
			var n = document.getElementById("ilosc").value;
			var t = new Array(n);
			var control = 1;
			
			if(MIN>MAX)
			{
				document.write('Zły zakres');
			}
			
			else if(MIN<MAX)
			{	
				if(n>=10)
				{
					for(i=0;i<=n;i++)
					{
						var randomowaLiczba = Math.floor( Math.random() * (MAX - MIN)+1);
						t[i] = randomowaLiczba;
					}
					
					for(i=1;i<=n;i++)
					{
							document.write("Liczba "+i+": "+t[i]+'<br>');
					}
				}
			}	
		}
	}
	</script>
	
	<style type="text/css">
	#input{
		width: 295px;
		height: 35px;
		background-color: #304FFE;
		border-radius: 20px;
		padding-top: 15px;
		padding-left: 5px;
	}
	input{
		border: none;
		border-radius: 20px;
		padding-left: auto;
		text-align: center;
	}
	
	#btn{
		color: #1A237E;
		background-color: #26A69A;
		width: 60px;
		height: 20px;
	}
	</style>

</head>
<body>
<input type="text" maxlength="5" size="6" id="a1" /> <input type="text" maxlength="5" size="6" id="b1" /> <input type="text" maxlength="5" size="6" id="ilosc" /> <input type="button" id="btn" value="OK" onclick="zakres()">
</body> </html> ```
0

Wpisz liczby do tablicy np. jakąś pętlą a później zrób na niej shuffle http://lmgtfy.com/?q=javascript+shuffle+array

0

Zmień sobie zakres, ewentualnie ilość losowanych liczb.
http://jsfiddle.net/EyVm9/43/

0

Możesz to jeszcze zrobić np. tak:

<!DOCTYPE html>
<html>
<head>
<script>
var x = []

function myF(min, max) {
x = []
for (i = min; i <= max; i++)
    x.push(i);
shuffle(x)
document.getElementById("demo").innerHTML = x;
}

function shuffle(arr) {
    for(var j, x, i = arr.length; i; j = Math.floor(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
    return arr;
}
</script>
</head>
<body>
<button onclick="myF(4, 7)">Try it</button>
<p id="demo"></p>

</body>
</html>

Wywołujesz funkcję myF z parametrami zakresu jaki chcesz, w tym przypadku od 4 do 7.

1 użytkowników online, w tym zalogowanych: 0, gości: 1