Dojo ha un metodo simile a quello di jQuery each()
che consente di passare un oggetto per iterare su? jQuery.each()
consente di passare una matrice o un oggetto. In quest'ultimo caso, la funzione di callback riceve sia una chiave che il valore. C'è qualcosa che ti permette di fare questo in Dojo?Come si può scorrere su un oggetto (array associativo) in Dojo?
6
A
risposta
9
Sembra che stiate cercando dojox.lang.functional.object.forIn
.
Non c'è pagina effettiva documentazione di riferimento dojo, solo un piccolo esempio nell'articolo Functional fun in JavaScript with Dojo:
modulo dojox.lang.functional.object definisce importanti aiutanti oggetto:
df.forIn(object, callback[, thisObject])
Se hai qualcosa contro l'utilizzo di quel modulo puoi anche creare facilmente la tua variante:
function objEach(obj, f, scope){
for(var key in obj){
if(obj.hasOwnProperty(key)){
f.call(scope, obj[key], key);
}
}
}
Per gli array esiste già dojo.forEach() nella libreria di base.
Ehi, sei tu! Grazie per avermi segnalato il canale dojo irc. Suppongo che questo sia quello che sto cercando. Perché è nascosto così profondamente nel dojox? Dovrebbe davvero essere parte del nucleo, non credi? – mydoghasworms
Questo modulo ha alcune funzionalità aggiuntive in modo da poter utilizzare una stringa anziché una funzione e così via. La base per "Each e la funzione custm" (che io uso) ricevono semplicemente funzioni semplici. – hugomg
'ForIn' controlla la presenza di' hasOwnProperty() '? – Sam007