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.