Autor Zpráva
PetrCPBBT
Profil *
Mám takový skript :
<script type="text/javascript"> 
var p=[[['49d7m14.687sN','17d59m23.561sE'],['49d7m19.876sN','18d3m1.012sE']],[['49d6m11.95sN','18d0m24.51sE'],['49d6m30.84sN','18d3m32.735sE']]]; 

for (i in p) 
{ 
alert (p[i][0][0]); 
} 
</script>

Tento funguje. V proměnné "p" je to, co očekávám tj. pouze hodnoty, které jsem tam vložil. Viz http://www.kolo-bezky.cz/akce/simonik/mapy/priklad2.jpg

Používám to ale na mapy seznamu. Jakmile tam vložím jejich skript :

tak najednou je v proměnné "p" následující : http://www.kolo-bezky.cz/akce/simonik/mapy/priklad1.jpg a skript přestane fungovat, protože cyklus jde i přes ty metody a to hodí chybu. Čím to je a jak odstranit chybu?
Díky
Chamurappi
Profil
Reaguji na PetraCPBBT:
Smyčka for-in se používá k procházení členů objektu, ne k procházení pole. Použij obyčejný cyklus s iterační proměnnou. (Nebo můžeš zkusit použít tu metodu forEach, kterou doskriptovávají mapy Seznamu.)
PetrCPBBT
Profil *
Chamurappi:
Díky za odpověď.
Ja to vlastně potřebuji použít nějak takto :
var p={};
p["trasa1"]=[[1,2],[3,4],[5,6]];
p["trasa2"]=[[10,20],[30,40],[50,60]];

A tam právě nefunguje p.length. nevím, jak se dostat na ty trasa1,trasa2 ..... trasan. Cyklus
for in taky nefunguje, ten jde i do těch přidaných metod. V jejich dokumentaci nemůžu najít ten forEach. Jak by se měl použít? Díky.
Chamurappi
Profil
Reaguji na PetraCPBBT:
Cyklus for in taky nefunguje, ten jde i do těch přidaných metod
Na obecné objekty, což je to tvé p, by měl fungovat správně. V Seznamu snad nejsou takoví blázni, aby rozšiřovali Object.prototype. (To, že rozšiřují Array.prototype, je docela pochopitelné.)

Na objekty — tedy na {}, do kterých přistupuješ přes název["člen"] nebo název.člen — je vhodná smyčka for-in.
Na pole — tedy na [], do kterých přistupuješ přes název[číslo] — jsou vhodné klasické smyčky (název.length u nich funguje).

V jejich dokumentaci nemůžu najít ten forEach. Jak by se měl použít?
Předpokládám, že nějak takto:
var pole = [1, 2, 3, 47];
pole.forEach(function(prvek)
{
  alert(prvek);
});
Pár prohlížečů již podporuje metodu forEach nativně, v nich by to jelo i bez knihovny Seznamu.
Aichi
Profil
Abych uvedl na pravou míru, pan PetrCPBBT je spammer co čeká odpověď nejlépe hned :)

http://forum.lide.cz/forum.fcgi?akce=forum_data&forum_ID=70336
http://forum.lide.cz/forum.fcgi?akce=forum_data&forum_ID=86016
http://forum.lide.cz/forum.fcgi?akce=forum_data&forum_ID=47831

Chamurappi Samozřejmě prototypový objekt Object nerozšiřujeme :)
PetrCPBBT
Profil *
Aichi:
Tat spamer snad ne. Jenom jsem se nemohl dočkat odpovědi :-)
Diky Chamurappi za odpověď a vysvětlení.

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:

0