salve, vorrei sapere se e come sia possibile ricavare l'elenco delle proprietā di un oggetto, di cui non si conosca la struttura ma si possa tuttavia manipolare.
spero di non aver scritto inesattezze,
grazie in anticipo
salve, vorrei sapere se e come sia possibile ricavare l'elenco delle proprietā di un oggetto, di cui non si conosca la struttura ma si possa tuttavia manipolare.
spero di non aver scritto inesattezze,
grazie in anticipo
Intendi che vuoi ciclare l'oggetto? Si puō fare con un for in, ma per essere sicuri si utilizza insieme all'hasOwnProperty:
codice:for(var i in obj) { if(obj.hasOwnProperty(i)) { //Fai qualcosa con i = nome proprietā e obj[i] = valore della proprietā } }
allora di quel poco di codice che hai scritto non ho capito niente (chiaramente č colpa mia)! per cui magari mi hai dato la risposta e non me ne sono resa conto. grazie mille in ogni caso.
in caso contrario perdona, non mi sono spiegata bene perchč conosco poco/niente javascript.
in pratica, se ho un oggetto chiamato ad esempio
auto
che possa avere diverse proprietā (almeno spero si chiamino cosė) come ad esempio
auto.colore
auto.modello
..
..
e cosė via
ecco, io ho l'oggetto auto ma non so nč quante nč quali proprietā abbia.
per cui, č possibile avere.. non so, ad esempio un array che mi dice che c'č la proprietā colore, che c'č la proprietā modello.. l'elenco completo delle proprietā insomma.
badate bene che potrei aver chiesto qualcosa di concettualmente sbagliato, nel tal caso apprezzerei se me lo fareste notare.
grazie ancora
Se il tuo scopo č quello di verificare l'esistenza di una proprietā non c'č alcun bisogno di ciclare l'oggetto, puoi benissimo verificarlo cosė:
if(auto.hasOwnProperty("modello")) {
//fai qualcosa
}
e no č quello il punto. io vorrei proprio venire a sapere il nome preciso delle proprietā.Originariamente inviato da Mega69
Se il tuo scopo č quello di verificare l'esistenza di una proprietā non c'č alcun bisogno di ciclare l'oggetto, puoi benissimo verificarlo cosė:
if(auto.hasOwnProperty("modello")) {
//fai qualcosa
}
so che puō sembrare strano.
io sto utilizzando una libreria javascript fatta da altre persone, per cui a priori non so quanti e quali proprietā ogni oggetto abbia, devo ricavarlo dal codice.
siccome mi sto perdendo nella sua comprensione, volevo facilitarmi la vita richiamando uno script in un determinato punto che mi dicesse perlappunto la "struttura" di un oggetto.
spero ora di aver chiarito
![]()
grazie
Originariamente inviato da aeterna
...
non mi sono spiegata bene perchč conosco poco/niente javascript.
...Ricapitolando non conosci il javascript, e utilizzi uno script/libreria fatta da altri, e non capisci il funzionamento?Originariamente inviato da aeterna
.......
io sto utilizzando una libreria javascript fatta da altre persone, per cui a priori non so quanti e quali proprietā ogni oggetto abbia, devo ricavarlo dal codice.
siccome mi sto perdendo nella sua comprensione, ......
Auguri!!!
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
non capisco il motivo di tanto sarcasmo, cmq grazie. penso che ci sia stata una prima volta per tutti in fondo, e non sono certo io ad aver scelto di procedere in questo modo, perō devo farlo.Originariamente inviato da cavicchiandrea
Ricapitolando non conosci il javascript, e utilizzi uno script/libreria fatta da altri, e non capisci il funzionamento?
Auguri!!!
al di lā di questo, che avevo messo per far capire il senso della domanda, che tuttavia penso possa benissimo avere ragion d'essere a PRESCINDERE da cosa faccio o non faccio io, non riesco a trovare in rete risposta a quello che cerco, quindi forse ho chiesto una cosa impossibile da fare. anche in tal caso non mi spiacerebbe comunque avere una conferma.
grazie
Riprendo il primo script postato da Mega69:
prova ad usare questo script una volta inclusa la tua libreria. Magari prima stampati solo la proprietā e non il suo valore (per stampare entrambi decommenta la riga commentata).codice:var obj={se_fosse_cane:"bau",se_fosse_gatto:"miao",se_fosse_tardi:function(){alert("ciao")}}; var str=''; for(var x in obj) { if(obj.hasOwnProperty(x)) { //str+=x+"->"+obj[x]+" \n"; str+=x+" \n"; } } document.write(str);
![]()
dA .. foto di viaggio
L'esperienza č il tipo di insegnante pių difficile.
Prima ti fa l'esame, e poi ti spiega la lezione.
grazie infinite anakin, e grazie infinite a mega69.Originariamente inviato da AnĒkin
Riprendo il primo script postato da Mega69:
prova ad usare questo script una volta inclusa la tua libreria. Magari prima stampati solo la proprietā e non il suo valore (per stampare entrambi decommenta la riga commentata).codice:var obj={se_fosse_cane:"bau",se_fosse_gatto:"miao",se_fosse_tardi:function(){alert("ciao")}}; var str=''; for(var x in obj) { if(obj.hasOwnProperty(x)) { //str+=x+"->"+obj[x]+" \n"; str+=x+" \n"; } } document.write(str);
![]()
scusami mega69, non avevo capito che il tuo codice era tutto quello che mi serviva per andare avanti, ne avevo frainteso lo scopo.
grazie anakin, l'esempio che hai integrato č stato davvero chiarificatore.
di cuore.
Mah, ancora non riesco a capire a che cosa ti serva ottenere un array con tutte le proprietā![]()
Forse a scopo di debug?