JavaScript-ben hogy tudok egyszerre /és/ és /vagy/ operátorokat EGYSZERRE használni?
Szeretnék egy kis programot készíteni, amihez elengedhetetlen az ÉS és VAGY operátorok egyidejű használata.
Amikor csak egy operátort használok, akkor működik a dolog:
if (a2 == a || b2 == b || c2 == c || d2 == d || e2 == e)
De amikor már próbálnám összekombinálni a kettőt, akkor sajnos már nem.
Így próbálkoztam:
((a2 == a || a2 == b || a2 == c || a2 == d || a2 == e) && (a2 == a || b2 == b || ab == c || b2 == d || b2 == e) && (b2 == a || a2 == b || a2 == c || a2 == d || a2 == e) && (a2 == a || a2 == b || a2 == c || a2 == d || a2 == e) && (a2 == a || a2 == b || a2 == c || a2 == d || a2 == e))
, de sajnos sikertelenül.
Ne nevessetek ki, még csak nemrég kezdtem el ismerkedni a JavaScripttel.
Nem azt kérem, hogy ezt oldjátok meg helyettem. Csak egy egyszerű példát kérnék tőletek, az alapján már megoldom.
Köszönöm szépen a segítséget!
Tippre ez lesz a gond: ab == c
Eléggé kilóg a sorból, van egyáltalán ilyen változód?
A példád másik fele meg tök egyforma.
Talán egyszerűbb lenne, ha bemásolnád a kódot, illetve hogy mit akarsz csinálni, milyen eredményt vársz és ehelyett mi történik, mert ennek így se füle, se farka.
Jaj, bocsánat. Egy a rossz verziót másoltam be, az ab == c már ki van javítva.
Egyébként az lett volna az eredeti ötlet, hogy van 5 input mező, ahova a felhasználó beírhat 1-1 számot, és véletlenszerűen generáltatok a programmal 5 számot külön külön bekezdésekbe.
Annyit lett volna, hogy az 5-ből egy számot eltalál, akkor kiírja, hogy "Egy találat", ha az 5-ből 2 számot talál el, akkor "Két találat", stb stb...
De rájöttem, hogy ezzel a módszerrel éjfélre sem végeznék, mire az összes variációt beírnám, ezért átvariáltam arra, hogy csak akkor van találat, ha az első input értéke megegyezik az első bekezdés értékével, a második a másodikkal, és így tovább. Tehát, ha beírnék mondjuk az első input-ba egy 1-est, de az elsőben mondjuk 2-es van, viszont a többiben 1-es, akkor az ne számítson találatnak.
Lényegében egy ötöslottó rendszert próbáltam megírni.
Tudom, hogy nem azt kérted, hogy oljduk meg, de inkább, mert rossz szokásokat veszel fel.
Ha jól látom ez egy lotto program, szóval:
#1 Legyártasz egy N elemű tömböt, benne a random az N db random számoddal. (randomNumbers)
#2 Kinyered egy második tömbbe az összes inputot. (userInput)
#3 végig iterálsz a "userInput" tömbbön és minden elemére meghívod, hogy " if (randomNumbers.includes(iterációsváltozó))"
#4 Ha ez true, akkor valami összegszőt / számlálót inkrementálsz. (hitCount pl.)
#5 kiírod a a hitCountot, formázását már rád bízom.
Szerintem gondold át mégegyszer, magadnak teszel jót vele, ha mondjuk egy fél év múlva ismét ránézel a kódra.
Használj mondjuk switcheket, ahol pl az a2 értéke alapján osztod tovább
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!