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

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