Autor Zpráva
kuba123
Profil *
objekt answers[n]["valued"] obsahuje nějaké hodnoty jako [49:1, 5:0, 16:1, ... ] apod. ( [index1:value1, index2:value2, ...]

Potřebuju pomocí cyklu zpřístupnit určitý index, např. druhý index.

Chtěl jsem použít
for ( var index in answers[n]["valued"] ){
 if (index== ...
}
ale uvědomil jsem si, že index bude hodnota a ne index, tak můžete poradit jak správně vrátit index?
pako
Profil *
nie som si isty ci dobre chapem, lebo z toho zadania je to nejasne, ale keby som mal objekt
var answers = {n : {'valued': [{5:1},{6:2}]}};
tak ku jednotlivym indexom a hodnotam by som sa dostal nejak takto:
for (var i = 0, l = answers['n']['valued'].length; i<l ; i++) {
    for (var index in answers['n']['valued'][i]) {
      console.log(index + ":" + answers['n']['valued'][i][index]);
    } 
}
kuba123
Profil *
pako:
Dejme tomu, že tam jsou tyto hodnoty
[49:1, 5:0, 16:1]
Ale ty tam máš tyto
[{5:1},{6:2}]
což není to samé, protože si vytvořil objekty a dal si je do pole takže pak k nim přistupuješ pomocí indexu 0 a 1.

No tak já opravím to svoje zadání, protože vidím co tě zmátlo.
Tak ty hodnoty by měly být zaprány takto:
{49:1, 5:0, 16:1}
Firebug console mi to píše například takto:
Object { 108=2, 55=2, 103=2}

Díky
pako
Profil *
[#3] kuba123
ked sa chces k niecomu dostat cez ciselny index, musis to mat v poli... aj keby si mal v objekte cislovanie od nula po n, tak nemusis dostavat vysledky po poradi

ak k tomu chces pristupovat ako k objektu, musis poznat nazov indexu, aby si si to mohol vyfiltrovat. cize mozes pouzit ten svoj povodny zapis a index bude index, hodnota bude objekt['index'] - ale nezistis ci je to druha alebo patnasta vlastnost objektu
Chamurappi
Profil
Reaguji na kubu123:
uvědomil jsem si, že index bude hodnota a ne index
Nikoliv.
kuba123
Profil *
Neznám název indexu. Čili řešení neexistuje?
pako
Profil *
mohol by si si vytiahnut hodnoty a dat ich do pola, ale nie je iste ze bude zachovane poradie ake je v objekte. ak nemas ako ovplyvnit skript ktory ten objekt plni hodnotami, tak to o rieseni neviem.
kuba123
Profil *
No, mě nejde o hodnoty, ale jen o to získat index určený pořadím.
Chamurappi
Profil
Reaguji na kubu123:
Je-li v proměnné x objekt {49:1, 5:0, 16:1}, pak smyčka for(var n in x) naplní proměnnou n postupně řetězci "49", "5" a "16" (pořadí, v jakém se tak stane, závisí na libovůli prohlížeče).
kuba123
Profil *
Chamurappi:
Tak to díky za vyvedení z omylu. Každopádně, budu muset ten objekt upravit a změnit strukturu, abych konečně vyřešil ten problém.

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