Forum » Programiranje » JavaScript
JavaScript
zbrisan ::
/*jshint multistr:true */ text = "asdf Aandreysdf Andrey asdf Andrey"; var myName = "Andrey"; var hits= []; for (var i = 0; i<text.length; i++){ if (text.substring(i,i+myName.length) === myName){ for (var j=i; j<(myName.length+i); j++){ hits.push(text[j]);} } } if (hits.length === 0){ console.log("Your name wasn't found!"); } else{ console.log(hits); }
Mi lahko nekdo razlozi delovanje tega programa vrstico za vrstico? Od for-a naprej me najbolj zanima.
repson ::
/*jshint multistr:true */ text = "asdf Aandreysdf Andrey asdf Andrey"; var myName = "Andrey"; var hits= []; /*tale for zanka je namenjena sprehajanju čez tekst znak po znak*/ for (var i = 0; i<text.length; i++){ /*tale if je namenjen iskanju myName v text*/ /*preveri, če se substring teksta od i do i+6 (dolžina imena) ujema z imenom */ if (text.substring(i,i+myName.length) === myName){ /*začni na mestu najdbe zadetka (j=i) in shrani (push) vsak znak posebej v hits (for)*/ for (var j=i; j<(myName.length+i); j++){ hits.push(text[j]);} } } /* če ni zadetkov printaj */ if (hits.length === 0){ console.log("Your name wasn't found!"); } /* sicer pa printaj array hits */ else{ console.log(hits); }
Zgodovina sprememb…
- spremenilo: repson ()
kogledom ::
prvi for se ti izvede za vsako črko text-a.
prvi if preveri če je od trenutne črke naprej iskano ime (z substring-om izreže relevanten del text-a in ga primerja z iskanim imenom)
drugi for ti nato shrani vse črke imena v hits.
tukaj se strinjam, da ni najbolj razumljivo kaj hoče s tem. Jaz bi npr raje naredil na začetku namesto
var hits = [];
naredil
var hits = {};
nato pa v zanki namesto
hits.push(text[j]);
naredil
hits[j] = text[j];
drugi del z if-else je pa pomojo dovolj razumljiv.
tukaj imaš jsbin
prvi if preveri če je od trenutne črke naprej iskano ime (z substring-om izreže relevanten del text-a in ga primerja z iskanim imenom)
drugi for ti nato shrani vse črke imena v hits.
tukaj se strinjam, da ni najbolj razumljivo kaj hoče s tem. Jaz bi npr raje naredil na začetku namesto
var hits = [];
naredil
var hits = {};
nato pa v zanki namesto
hits.push(text[j]);
naredil
hits[j] = text[j];
drugi del z if-else je pa pomojo dovolj razumljiv.
tukaj imaš jsbin
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Avtorji želijo obiti založnikeOddelek: Novice / Ostale najave | 8422 (7395) | driver_x |
» | Kako pokukati v življenje naključnega uporabnika spleta - ChatRouletteOddelek: Novice / Zasebnost | 6710 (4780) | MrStein |
» | Fiksni IP pri SiOLuOddelek: Omrežja in internet | 2104 (1827) | Klemzz |
» | Katero linux distribucijo za newbijaOddelek: Operacijski sistemi | 1114 (903) | Gh0st |
» | Katero DDR plato sedaj v SLO :Oddelek: Kaj kupiti | 1016 (934) | AntiC |