JavaScript: i limiti del metodo Math.random() nell'estrazione di un elemento casuale da un array

JavaScript: i limiti del metodo Math.random() nell'estrazione di un elemento casuale da un array

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:


'use strict';

const getRandomInt = (min, max) => {
	return Math.floor(Math.random() * (max - min + 1)) + min;
};

const 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