2012-09-25 14 views
8

Tengo dos matrices de JavaScript de mismo tamañoiteración jQuery cada bucle para dos matrices a la vez

var demo=new Array(); 
var demo3=new Array(); 

necesito para acceder al valor de la matriz de dos en uno cada bucle en JQuery code.After surf por un tiempo Me encontré con operación zip y traté de usar el código

$.zip(demo,demo3).each(function(){         
    alert("demo "+this[0]); 
    alert("demo3 "+this[1]);  
}); 

Sin embargo, este código no funciona. Ayuda.

Respuesta

17

Ya que son del mismo tamaño, solo bucle de uno, y hacen referencia a la otra con i.

$.each(demo, function(i, item) { 
    console.log(demo[i], demo3[i]); 
}); 

Si usted no necesita los índices vinculados, a continuación, basta con ejecutar de nuevo a la espalda mediante el uso .concat.

$.each(demo.concat(demo3), function(i, item) { 
    console.log(item); 
}); 
8

¿Seguro que mantendrán el mismo tamaño? Utilice un buen ol' for:

for(var i = 0; i < demo.length; i++){ 
    console.log(demo[i]); 
    console.log(demo3[i]); 
} 
3

Trate de usar .concat si desea iterar conjunta ..

$.each(demo.concat(demo3), function (idx, el) { 
    alert(el); 
}); 

demás simplemente iterar la matriz y utilizar el índice para acceder a la siguiente ..

$.each(demo, function (idx, el) { 
    alert(el); 
    alert(demo3[idx]); 
}); 
0

Si está intentando para usar la funcionalidad zip de guión bajo (http://underscorejs.org/#zip) puede hacer lo siguiente:

var combined = _.zip(demo, demo3); 
$.each(combined, function(index, value) { 
    // value[0] is equal to demo[index] 
    // value[1] is equal to demo3[index] 

}); 
​ 

Demostración: Documentación http://jsfiddle.net/lucuma/jWbFf/

_zip: combina junto los valores de cada una de las matrices con los valores en la posición correspondiente. Es útil cuando tiene fuentes de datos separadas que se coordinan a través de índices de matriz coincidentes. Si está trabajando con una matriz de matrices anidadas, zip.apply puede transponer la matriz de manera similar.

http://underscorejs.org/#zip

Dicho todo esto, una llanura de bucle es muy fácil y eficiente en este caso.

Cuestiones relacionadas