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 | 9097 (8070) | driver_x |
| » | Kako pokukati v življenje naključnega uporabnika spleta - ChatRouletteOddelek: Novice / Zasebnost | 7016 (5086) | MrStein |
| » | Fiksni IP pri SiOLuOddelek: Omrežja in internet | 2198 (1921) | Klemzz |
| » | Katero linux distribucijo za newbijaOddelek: Operacijski sistemi | 1251 (1040) | Gh0st |
| » | Katero DDR plato sedaj v SLO :Oddelek: Kaj kupiti | 1130 (1048) | AntiC |