Pagina 1 din 1

Generare numere aleatoare in JavaScript

Scris: Joi Dec 28, 2017
de constantin
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'!

Generare numere aleatoare in JavaScript

Scris: Joi Dec 28, 2017
de MarPlo
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>

Generare numere aleatoare in JavaScript

Scris: Dum Dec 31, 2017
de constantin
Multumesc mult! Si daca am ajuns in ultima zi a anului 2017 eu iti urez din toata inima:
La multi ani cu sanatate!