Generare numere aleatoare in JavaScript

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
constantin
Mesaje:2

Generare numere aleatoare in JavaScript

Salutare!
Cum ar trebui scris un cod pentru a genera un numar de genul: 0729 adica un numar din 4 cifre diferite (de la 0 la 9)?
Mutumesc frumos!
O zi buna sa dea Domnu'!

MarPlo Mesaje:4343
Salut

1. Functia randomNr() din urmatorul exemplu returneaza un numar aleator intre un minim si maxim dat.
Pote returna numere cu un numar diferit de caractere.

Cod: Selectaţi tot

<script>
//Returns a random integer between min (inclusive) and max (inclusive)
function randomNr(min, max){
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

//Test
var nr_al = randomNr(1, 9999);
alert(nr_al); //78 /355 /7098
</script>

2. Functia randomNrDigits() din urmatorul exemplu returneaza un numar aleator, cu un numar de caractere specificat.
Numarul returnat poate avea cifre care se repeta.

Cod: Selectaţi tot

<script>
//Returns a random integer with a specified number of digits (nd)
function randomNrDigits(nd){
  var n0 =1;
  for(var i=1; i<nd; i++) n0 +='0';
  return Math.floor((1*n0) + Math.random() * (9*n0));
}

//Test
var nr_al = randomNrDigits(4);
alert(nr_al); //3424
</script>

3. Functia randomNrUniqueDigits() din urmatorul exemplu returneaza un numar aleator cu un numar de caractere specificat.
Numarul returnat va contine cifre care nu se repeta.

Cod: Selectaţi tot

<script>
//Returns a random integer with digits that not repeat, with specified number of digits (nd)
function randomNrUniqueDigits(nd){
  var ar_nr =[0,1,2,3,4,5,6,7,8,9];
  for(let i = ar_nr.length -1; i >0; i--){
    let j = Math.floor(Math.random() * (i + 1));
    [ar_nr[i], ar_nr[j]] = [ar_nr[j], ar_nr[i]];
  }

  return ar_nr.splice(1, nd).join('')*1;
}

//Test
var nr_al = randomNrUniqueDigits(4);
alert(nr_al); //5940
</script>

constantin Mesaje:2
Multumesc mult! Si daca am ajuns in ultima zi a anului 2017 eu iti urez din toata inima:
La multi ani cu sanatate!