2008-11-13 7 views

Respuesta

5

¿Qué le impide simplemente iterar la matriz?

for(var i=0; i<ary.length; i++) 
    // assuming that ary[] contains objects with a DoSometing() method 
    ary[i].doSomething(); 
+0

el póster pedido YUI, ¿verdad? – Zlatko

+0

@zladuric: Sí, lo hizo. Pero me pareció (y aún me parece) que los marcos de JavaScript hacen que las personas olviden que hay * JavaScript real * simple que podrían usar, y eso es lo que quería señalar. Además, es probable que un bucle for supere cualquier implementación 'array.each (callback)'. – Tomalak

+0

bien. No quería entrar en eso, solo pensé que este tipo de respuestas (que de hecho no responden a la pregunta, sino que apuntan a otra cosa) irían a los comentarios a la pregunta, no a las respuestas. Aunque puedo ser estúpido. – Zlatko

7

YAHOO.util.Dom tiene la función por lotes que tiene la siguiente firma:

Cualquier | Matriz lote (el, método, o, override)

Dónde el es un elemento DOM o una matriz de elementos DOM, método es una función que que se pasará cada elemento de la matriz como primer argumento, o es un segundo argumento opcional, y la anulación es un valor booleano que determina si el alcance debería ser la ventana (falso) o o (verdadero)

por lo que podría cal l esto como esto:

function setDisplay(el, display) { 
    el.style.display = display; 
} 

YAHOO.util.Dom.batch(document.getElementsByTagName('div'), setDisplay, 'none'); 

Quizás eso serviría a sus necesidades.

2

En YUI3:

Y.Array.each(myArray, function(element) { 
    Y.log(element); 
}); 

o incluso:

Y.Array.each(myArray, function(element, index, array) { 
    ... 
}); 
Cuestiones relacionadas