Autor Zpráva
Rararach
Profil *
zdravím, prosím o vysvětlení proč mi nejede operátor == ?
Pokud zaměním == za != takto funguje (ale chci tam mít ==), tož nevím kde mám chybu
Předem díky
Živá ukázka:
<p>Hledání stejného čísla:<input type="number" id="cislonapis" value="1"></p>
<button onclick="odpovez()">Je naše číslo stejné jak některé z pole</button>
<p id="vypis">...</p>
<p>Máme stejné číslo?  <span id="odpoved"></span></p>

<script>
var cisla = [9, 23, 12, 40];
document.getElementById("vypis").innerHTML = "Výpis pole: " +cisla;

function stejne(cisilko) {
    return cisilko == document.getElementById("cislonapis").value;
}

function odpovez() {
    document.getElementById("odpoved").innerHTML = cisla.every(stejne) ;

} </script>
Radek9
Profil
Rararach:
Funkce every ověřuje, zda v poli všechny prvky odpovídají výsledku té dané funkce (tady stejne). Jinými slovy, jestli se všechny prvky v poli rovnají té tvé zadané hodnotě. Což logicky není možné. Pravděpodobně hledáš spíš funkci some:

function odpovez() {
  document.getElementById("odpoved").innerHTML = cisla.some(stejne) ;
}

Příp. vůbec nepotřebuješ tu funkci stejne a můžeš použít includes nebo indexOf:
function odpovez() {
  document.getElementById("odpoved").innerHTML = cisla.includes(parseInt(document.getElementById("cislonapis").value, 10));
}
// nebo
function odpovez() {
  document.getElementById("odpoved").innerHTML = cisla.indexOf(parseInt(document.getElementById("cislonapis").value, 10)) !== -1;
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: