Quindi, sto tentando di selezionare una voce casuale da una matrice, e quindi fare in modo che la voce particolare non sarà selezionata di nuovo fino a quando ogni voce è stata selezionata. Fondamentalmente, non voglio vedere nessuna delle stesse voci, fino a quando non sono state selezionate tutte le voci nell'array.Selezione di array casuali senza selezionare due volte in JavaScript
Quindi, se questo fosse il mio allineamento ...
keywords =
[
"ppc",
"games",
"advertise",
"meta",
"home",
"gaming",
"welcome"
]
var keyword = keywords[Math.floor(Math.random()*keywords.length)]
document.write(keyword);
Non vorrei vedere una potenza di:
meta, advertise, home, meta, gaming, welcome, ppc, welcome
dal meta è stata selezionata una seconda volta prima che tutto era stato selezionato una volta. Mi piacerebbe vedere qualcosa di più simile:.
meta, advertise, gaming,ppc, welcome, home, games, advertise, ppc,
dal momento che questo Non hai scelto una voce più volte prima di ogni ingresso era stato scelto a caso (il secondo ciclo iniziato al secondo "pubblicizzare" nel caso in cui si didn' t prendere le differenze
Ma come potete vedere dal codice che ho postato sopra, non so come farlo.Ho visto esempi in cui le voci che sono state selezionate casualmente, sono state effettivamente cancellate dall'array interamente ma questo non è quello che voglio fare. Voglio solo che ogni voce sia selezionata una volta, e quindi per il processo da riavviare.
Qualcuno conosce il codice per questo?
possibile duplicato di [serie di numeri casuali] (http://stackoverflow.com/questions/4373306/array-of-random-numbers) –