2017-02-24 3 views
0

i filtern haben ein Array, das einfach Nummern (IDs) enthält:Javascript: wie ein Array des Inhalts in zwei resultierenden Arrays

idsGroup : [0,1,5,66,88,10,12.....] 

I haben auch eine andere "jeder" Schleife die für jeden ID fetchi ist sein Wert in dieser Tabelle, ich bin Injizieren so mit jeder ID a string: (ids-Array und die gerenderte Liste von der jeder Schleife die gleiche Länge hat)

schließlich ein Array so zu erhalten:

idsGroup : [0-state1,1-state2,5-state1,66-state1,88-state2.....] 

sie ist Code auszuführen:

$('#select option:selected').each(function() { 
       var typeGroup = $j(this).data('type'); 
       console.log(typeGroup); 
       idsGroups[i] = idsGroups[i]+"-"+typeGroup; 
       i=i+1; 
}); 

Da es nur zwei mögliche Zustände: Zustand 1 und Zustand 2;

ich möchte zwei verwendbare Tabelle erhalten, wo ich für jeden Zustand bin hathering, alle seine ids:

wie folgt aus: -

state1=[0,5,66...] 
state2=[1,88.....] 

und natürlich sollte ich in der Lage sein, sie zu benutzen außerhalb die "jeder" Schleife

Vorschläge ??

Antwort

1

etwas wie das?

var idsGroup = ["0-state1","1-state2","5-state1","66-state1","88-state2"]; 

var state1 = []; 
var state2 = []; 

for(var i = 0; i < idsGroup.length; i++){ 
    if(idsGroup[i].indexOf("state1") > 0){ 
     state1.push(idsGroup[i].replace('-state1','')); 
    }else{ 
     state2.push(idsGroup[i].replace('-state2','')); 
    } 
} 
+0

vielen dank das war perfekt – firasKoubaa

Verwandte Themen