Na początku nauki programowania rozwiązanie polega na ułożeniu liczb w nowej tablicy i wylosowaniu elementu z tejże tablicy:
function losuj() {
var liczba1 = document.getElementById(l1).value;
var liczba2 = document.getElementById(l2).value;
var liczba3 = document.getElementById(l3).value;
var numer = Math.floor(Math.random() * 3);
var liczby = [liczba1, liczba2, liczba3];
var wynik = liczby[numer];
document.getElementById("wynik").innerHTML = wynik;
}
Ulepszając ten kod:
// Zmiana języka z polskiego na angielski
// Pobieranie referencji do elementów w DOM tylko na początku działania programu:
const inputElements = document.querySelectorAll('.jakas-wspodzielona-klasa')
const outputElement = document.querySelector('#wynik')
function random () {
// [...inputElements] <-- zamiana obiektu tablicopodobnego na tablicę
// .map <-- zmiana każdego elementu tablicy z inputa na liczbę
const values = [...inputElements].map(input => parseFloat(input.value))
// Math.random() * values.length <-- wylosowanie liczby z przedziału <0; "liczby elementów w tablicy values")
// >> 0 <-- przesunięcie bitowe o 0 w prawo (ekwiwalent Math.floor)
const randomValue = values[Math.random() * values.length >> 0]
// Zmiana innerHTML na textContent <-- dobra praktyka zapobiegająca przypadkowemu tworzeniu podatności XSS
outputElement.textContent = randomValue
}
Warto też zamienić onclick na addEventListener, aby rozdzielić warstwę treści od warstwy logiki