StackOverflow dúvida
HTML
<div class="container">
<main class="content">
<div class="selects-area">
<select name="mapSelector" id="mapSelector">
<option value="" disabled selected>Selecione um mapa</option>
<option value="0">Dust II</option>
<option value="1">Mirage</option>
<option value="2">Cache</option>
<!-- <option value="...">___</option> -->
</select>
</div>
<button class="play" onclick="basicLogic();">Jogar</button>
</main>
</div>
JavaScript
const maps = [
{
mapName: "dust ii",
positions: [
{
posicao: "fundo",
posicaoImg: "#",
},
{
posicao: "escuro baixo",
posicaoImg: "#",
},
{
posicao: "base tr",
posicaoImg: "#",
},
{
posicao: "base ct",
posicaoImg: "#",
},
],
},
{
mapName: "mirage",
positions: [
{
posicao: "fundomirage",
posicaoImg: "#",
},
{
posicao: "escuro baixomirage",
posicaoImg: "#",
},
],
},
];
let selectElementMap = document.getElementById("mapSelector");
const desordenar = (arr) => {
const copia = [...arr];
for (let i = copia.length - 1; i > 0; i--) {
let j = Math.floor(Math.random() * (i + 1));
[copia[i], copia[j]] = [copia[j], copia[i]];
}
return copia;
};
function basicLogic() {
let valueSelectedMap =
selectElementMap.options[selectElementMap.selectedIndex].value;
const desordenado = desordenar(maps[valueSelectedMap].positions); // o array que será randomizado com base no <select> do usuario
console.log(desordenado.shift()); // Pega o primeiro da lista
}