10 of 17 menu

Feil ved mangel på flagg i funksjon i JavaScript

La oss si at vi ønsker å lage en funksjon, som tar et siffer og et tall som parameter, og sjekker om det oppgitte sifferet finnes i tallet:

function func(needle, num) { // koden vil være her }

Slik vil vi bruke funksjonen vår:

console.log(func('3', '12345')); // vil skrive ut true

En programmerer skrev en løsning på denne oppgaven:

function func(needle, num) { for (let digit of num) { if (digit === needle) { return true; } else { return false; } } }

Denne løsningen fungerer imidlertid ikke korrekt. Grunnen er at det i løkken er skrevet en betingelse, der det i første iterasjon vil utføres enten den ene return, eller den andre, og dermed vil den avslutte både løkken og funksjonen.

La oss omskrive koden vår på riktig måte, ved å bruke implisitte flagg i funksjoner:

function func(needle, num) { for (let digit of num) { if (digit === needle) { return true; } } return false; }
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis