Autor | Zpráva | ||
---|---|---|---|
slacooo Profil |
#1 · Zasláno: 21. 2. 2012, 10:22:15
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){ ? ? }); |
||
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 |
#3 · Zasláno: 21. 2. 2012, 11:21:11
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 |
#4 · Zasláno: 21. 2. 2012, 11:33:11
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; } } |
||
slacooo Profil |
#5 · Zasláno: 21. 2. 2012, 12:19:21
ano, aj takto sa to da urobit, dik
|
||
slacooo Profil |
#6 · Zasláno: 21. 2. 2012, 15:08:57
nasiel som aj taketo elegantne riesenie
$.extend(true, objekt1, objekt2); |
||
Radek9 Profil |
#7 · Zasláno: 21. 2. 2012, 16:49:16
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í. |
||
Časová prodleva: 12 let
|
0