| Autor | Zpráva | ||
|---|---|---|---|
| Rararach Profil * |
#1 · Zasláno: 12. 3. 2017, 13:58:15
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;
} |
||
|
Časová prodleva: 9 let
|
|||
0