2012-09-25 44 views
8

Tôi có hai mảng javascript của cùng một kích thướclặp jQuery mỗi vòng lặp cho hai mảng cùng một lúc

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

tôi cần phải truy cập vào các giá trị của hai mảng trong một mỗi vòng lặp trong JQuery code.After lướt trong một thời gian Tôi đã xem hoạt động zip và tôi đã thử sử dụng mã

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

Tuy nhiên mã này không hoạt động.Vui lòng trợ giúp.

Trả lời

17

Vì họ đang cùng kích thước, chỉ cần vòng một, và tham chiếu khác với i.

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

Nếu bạn không cần các chỉ mục được ghép nối, thì chỉ cần chạy lại chúng bằng cách sử dụng .concat.

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

Chắc chắn chúng sẽ giữ cùng kích thước? Sử dụng một ol tốt' for:

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

Hãy thử sử dụng .concat nếu bạn muốn lặp doanh ..

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

khác chỉ đơn giản lặp mảng và sử dụng các chỉ số để truy cập tiếp theo ..

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

Nếu bạn đang cố gắng để sử dụng chức năng zip từ gạch dưới (http://underscorejs.org/#zip), bạn có thể thực hiện như sau:

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

}); 
​ 

Bản trình diễn: http://jsfiddle.net/lucuma/jWbFf/

_zip Tài liệu: Hợp nhất các giá trị của mỗi mảng với các giá trị tại vị trí tương ứng. Hữu ích khi bạn có các nguồn dữ liệu riêng biệt được phối hợp thông qua các chỉ mục mảng phù hợp. Nếu bạn đang làm việc với một ma trận của mảng lồng nhau, zip.apply có thể chuyển đổi ma trận theo kiểu tương tự.

http://underscorejs.org/#zip

Tất cả những gì đã nói, một đồng bằng vòng lặp for là khá dễ dàng và hiệu quả trong trường hợp này.

Các vấn đề liên quan