Qual'è il modo corretto per estrarre un elemento casuale da un array JavaScript?

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.

Torna su