Autor Zpráva
jouda05
Profil *
Ahoj potřeboval bych data "nalezeno" ktere vrati cyklus for uložit do array s níže popsanou
strukturu abych stim pak dál mohl pracovat:

struktura array kterou chci vratit:

odkaz href-hodnota data-hodnota
---------------------------------------------
- 1 - http:// - data1 -
- 2 - http:// - data2 -
- 3 - http:// - data3 -
---------------------------------------------

kod ze ktereho to potřebuju dostat:
function filtruj_kod(odkazy )
var odkazy
var reg = /href=\"(.+?)&data=(.+?)\" id=/g; //regexp

while(vysledek=reg.exec(odkazy))
{
for(i=1;vysledek[j]i++)
nalezeno=vysledek[1];
alert(nalezeno);
};
}

Pak bych třeba mohl na základě nějakých podmínek vzít z toho array řádek s odkazem 1 a spojit "http://" s data1 s
jistotou že tyto hodnoty patří k sobě atd.

Zkončil jsem u toho že umím vypsat příkazem "nalezeno=vysledek[1];" buď všechny nalezené href-hodnoty nebo příkazem
nalezeno=vysledek[2]; všechny "data-hodnoty".

Vubec ale netušim jak provest to co jsem popisoval a udělat to a navíc tak aby se stím dalo pracovat i mimo tu funkci.

Takže když to shrnu:
- chtěl bych uložit do array všechny regexp nalezené výsledky v popsané struktuře a aby se stou array dalo pracovat i mimo tu funkci.

Díky moc
jouda05
Profil *
ještě upřesním že by ta konečná struktura měla vypadat vlastně asi nějak takto:

array1 (href-hodnota1, data-hodnota1)
array2 (href-hodnota2, data-hodnota2)
array3 (href-hodnota3, data-hodnota3)

myslím že teďka to ten kód vyhazuje nějak takto, ale nevím to jistě:

array1 (href-hodnota1, href-hodnota2, href-hodnota3)
array2 (data-hodnota1, data-hodnota2, data-hodnota3)
_es
Profil
jouda05:
Opýtaj sa na niečo konkrétne, alebo sa douč základy JS.
Z toho, čo som z toho zmätočného textu pochopil, by si si asi mal niekde nájsť použitie príkazu return a definíciu lokálnych a globálnych premenných.

struktura array
To je čo? Myslíš polia v JS - typ Array?
jouda05
Profil *
_es: "struktura array" pro mě znamená uspořádání hodnot v array. Původně jsem to zamýšlel že by to bylo všechno v jedné array která by měla víc dimenzí. Ale myslím že lepší to bude tak když každý jeden odkaz bude v jedné samostatné array.

Co jsem pochopil je to že for cyklus projde pole každé array takže třeba příkaz vysledek[1] vrátí jen hodnoty z array číslo 1.

Nicméně pořád netuším jak ty array zkombinovat jak sem již napsal výše:

tzn. z tohoto:

array1 (href-hodnota1, href-hodnota2, href-hodnota3)
array2 (data-hodnota1, data-hodnota2, data-hodnota3)

udělat toto:
array1 (href-hodnota1, data-hodnota1)
array2 (href-hodnota2, data-hodnota2)
array3 (href-hodnota3, data-hodnota3)

Ukazka myslim přesně ukazuje co potřebuju udělat.
_es
Profil
jouda05:
Ukazka myslim přesně ukazuje co potřebuju udělat.
To nie je žiadna „ukážka“.
Vyjadri sa nejako normálne, alebo aspoň v súlade s JS terminológiou.

Môžeš si v cykle vyrobiť úplne ľubovolné pole, takže nie je vôbec zrozumiteľné, na výrobu akého poľa sa to pýtaš.
petr 6
Profil
jouda05:
myslím že teďka to ten kód vyhazuje nějak takto, ale nevím to jistě
Co třeba ten kód vyzkoušet, a vědět to jistě...
1Pupik1989
Profil
Pokud to chápu, tak to má být jako vícerozměrné pole? Jako jedno velké a v něm další?

Neco = array (
  array (href-hodnota1, data-hodnota1) ,
  array (href-hodnota2, data-hodnota2) ,
  array (href-hodnota3, data-hodnota3) 
        );

Takto nějak?
jouda05
Profil *
1Pupik1989: trefa:) .. Aspoň někdo :) Takto z toho kodu co mam napsany v prvni postu asi vylezou 2 array ktere myslim vypadaji nejak takto:

var reg = /href=\"(.+?)&data=(.+?)\" id=/g; //vybrat vsechny hodnoty "(.+?)" a vlozit do array

//predchozi kod vytvori takoveto 2 array
array1 (href-hodnota1, href-hodnota2, href-hodnota3) // = (.+?)
array2 (data-hodnota1, data-hodnota2, data-hodnota3) // = (.+?)

a for cyklus projde jen to array ktere chci vypsat: vysledek[1]; // = array číslo 1

Dal uz nevim co stim..

Nicmene potreboval bych vytvorit presne takove array jake si napsal.
1Pupik1989
Profil
vytvoř pole a pak v cyklu for vytvor dalsi (příklad pole[i] = new Array(); )

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: