2012-09-25 76 views
8

我有相同的尺寸迭代JQUERY每个循环为两个阵列在一次

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

的两个JavaScript阵列我需要访问在一个所述两个数组的值中的JQuery code.After每个环冲浪一会儿我碰到拉链操作,我尝试使用的代码

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

但是这个代码不work.Please帮助。

回答

17

:使用好醇” for

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

如果您不需要配对的指标,然后只需运行它们通过使用.concat背靠背。

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

当然他们会保持相同的大小?由于它们是相同的大小,只是一环,并引用其他与i

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

,如果你想联合迭代尝试使用.concat ..

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

否则只是重复的数组,并使用该指数下一个访问..

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

如果你想要使用下划线(http://underscorejs.org/#zip)的zip功能,您可以执行以下操作:

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

}); 
​ 

演示:http://jsfiddle.net/lucuma/jWbFf/

_zip文档:每次用的值阵列中的值用于合并一起在相应的位置。当您有通过匹配数组索引进行协调的独立数据源时很有用。如果您正在处理嵌套数组矩阵,则zip.apply可以以类似的方式转置矩阵。

http://underscorejs.org/#zip

所有这一切说,for循环平原在这种情况下很容易和高效。