Autor Zpráva
slacooo
Profil
mam taketo pole1
{
    "185":{
        "c":"1.3283",
        "s":"1"
    },
    "186":{
        "c":"1.5900",
        "s":"1"
    }
}

toto je pole2 a potrebujem zmenit v poli1 len jednu hodnotu stlpec(s) v riadku(185) , -aktualizovat pole1
{
    "185":{
        "s":"0"
    }
}

myslim, ze by sa malo prechadzat pole1 a ak nastane zhoda klucov porovnat hodnoty a ak sa nezhoduju prepisat hodnotu v poli1
$.each(pole1, function(key, hodnota){
  ?
  ?                                            
});
viete mi prosim poradit? robim v php. JS, jquery je pre mna nove.
Radek9
Profil
slacooo:
mam taketo pole1
To není pole, ale obecný objekt.

Pokud bude v druhém objektu více řádků, tak asi nějak takto:
for(var i in objekt2){
  objekt1[i].s = objekt2[i].s;
}

Pokud ne a znal bys to číslo, tak by mělo stačit jen takhle:
objekt1["185"].s = objekt2["185"].s;
slacooo
Profil
dik funguje to,
len zabudol som dodat, ze potrebujem niekedy zmenit aj "c", predpokladam, ze tam bude treba vnorenu slucku.
....ten objekt2 bude dynamicky meneny.
Radek9
Profil
slacooo:
Tak ještě přidat podmínku:
for(var i in objekt2){
  objekt1[i].s = objekt2[i].s;
  if(objekt2[i].c!=null){
    objekt1[i].c = objekt2[i].c;
  }
}
A takhle případně pro všechny další hodnoty.
slacooo
Profil
ano, aj takto sa to da urobit, dik
slacooo
Profil
nasiel som aj taketo elegantne riesenie
$.extend(true, objekt1, objekt2);
Radek9
Profil
slacooo:
Což dělá v podstatě to samé jako můj script, jen tam bude zřejmě plno zbytečného kódu navíc, který to zpomalí.

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