2012-01-20 5 views

risposta

4

Un ciclo di questo modulo

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

Supponendo che si sta utilizzando un recente browser Web con supporto per Array.forEach:

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

Se non si dispone di forEach, è un esercizio abbastanza facile per riscrivere questo senza di essa. Come altri hanno dimostrato prima, ci sono anche alcuni vantaggi in termini di prestazioni a fare a meno ... (Anche se sostengo che non molto tempo fa, i comuni runtime di JavaScript ottimizzeranno gli attuali vantaggi per farlo altrimenti).

+0

potrebbe sostituire forEach con loop for pure. – Prescott

+0

Nessun browser ... Userò PhoneGap per trasformarlo in un'app nativa per iPhone. Funzionerà ancora? –

+0

@Dingredient - Non dipende realmente dal browser, ma dalla versione JavaScript supportata. Se 'forEach' non funziona, usa invece la risposta di rubixibuc. – ziesemer

Problemi correlati