Il metodo random()
dell'oggetto JavaScript Math
genera un numero pseudo-casuale. A differenza di altri linguaggi, questo metodo usato da solo non è molto efficace.
Una prova è il suo uso con gli array.
Il modo corretto per estrarre un elemento random (casuale) da un array è il seguente:
function getRandomInt( min, max ) {
return Math.floor( Math.random() * ( max - min + 1 ) ) + min;
}
var arr = [ 1, 3, 5, 10, 0 ],
items = arr.length,
total = items - 1,
index = getRandomInt( 0, total );
console.log( arr[index] ); // 3
Il numero di partenza è 0 e dato che la numerazione degli indici di un array parte appunto da 0, il numero massimo si otterrà sottraendo 1 dal numero totale di elementi dell'array.