2012-01-20 26 views

Trả lời

4

Vòng lặp biểu mẫu này

combos = [] //or combos = new Array(2); 

for(var i = 0; i < array1.length; i++) 
{ 
    for(var j = 0; j < array2.length; j++) 
    { 
     //you would access the element of the array as array1[i] and array2[j] 
     //create and array with as many elements as the number of arrays you are to combine 
     //add them in 
     //you could have as many dimensions as you need 
     combos.push(array1[i] + array2[j]) 
    } 
} 
6

Giả sử bạn đang sử dụng một trình duyệt web gần đây với sự hỗ trợ cho Array.forEach:

var combos = []; 
array1.forEach(function(a1){ 
    array2.forEach(function(a2){ 
    combos.push(a1 + a2); 
    }); 
}); 

Nếu bạn không có forEach, nó là một bài tập đơn giản, đủ để viết lại này mà không có nó. Như những người khác đã chứng minh trước đây, cũng có một số lợi thế về hiệu suất để thực hiện mà không cần ... (Mặc dù tôi cho rằng không lâu kể từ bây giờ, các thời gian chạy JavaScript phổ biến sẽ tối ưu hóa mọi lợi thế hiện tại để thực hiện việc này.)

+0

có thể thay thế choĐối với vòng lặp. – Prescott

+0

Không có trình duyệt nào ... Tôi sẽ sử dụng phonegap để biến nó thành ứng dụng iPhone gốc. Liệu nó vẫn hoạt động? –

+0

@Dingredient - Không thực sự phụ thuộc vào trình duyệt, nhưng phiên bản JavaScript được hỗ trợ. Nếu 'forEach' không hoạt động, hãy sử dụng câu trả lời của rubixibuc. – ziesemer

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