JavaScript: estrarre un elemento casuale da un array

JavaScript: estrarre un elemento casuale da un array

Estrarre un elemento random da un array JavaScript richiede l'utilizzo del metodo random() dell'oggetto Math. Tuttavia, il risultato restituito da questo metodo non è un numero intero, quindi occorre arrotondarlo all'intero più vicino (per eccesso o per difetto) utilizzando i metodi floor() o round() dello stesso oggetto Math. Vediamo un esempio pratico.

Il numero che estrarremo non dovrà superare la lunghezza dell'array. Per esempio, supponendo di voler far ruotare l'immagine di sfondo di un elemento, possiamo avere:


var imagesURL = 'http://' + location.host + '/images/';
var images = ['header1.jpg', 'header2.jpg', 'header3.jpg'];
var header = document.getElementById('header');

var index = (Math.round((Math.random()*1)+1));
var image = images[index];
var fullImageURL = imagesURL + image;

header.style.backgroundImage = 'url(' + image + ')';

Come si può notare, abbiamo utilizzato il numero random come indice dell'array di immagini, selezionando in questo modo un'immagine casuale. Ricordiamo, tuttavia, che JavaScript, tecnicamente parlando, genera numeri pseudo-casuali e non casuali nel senso specifico del termine.

Torna su