2016-04-04 4 views
0

ich ein Array wie diese haben,Split ein Array und erhalten den Index

[ 
    1, 
    1, 
    1, 
    0, 
    0, 
    0, 
    1, 
    1, 
    0, 
    1, 
    1 
] 

In oben Array I Split auf 0 und 1 Zahlen erhalten müssen und ihre index auch. Ich schreibe den Code für 0 und 1 in separater Array bekommen, aber ich mag ihren Index auch in dem Main-Array, unter Code ist:

for (int i = 0; i < [Array count]; i++) { 
     NSString* strV = [Array objectAtIndex:i]; 
     NSLog(@"ArrayCount:%@",strV); 
     if ([strV isEqual:[NSNumber numberWithInt:0]]) { 
       [getArray addObject:strV]; 
        } 
    } 

    NSLog(@"getArray:%@",getArray.description); 
} 

Dann, wie kann ich Index von 0 erhalten, können Sie mir bitte helfen. Danke

+0

Arrays nicht indexPaths haben. Wenn Sie den Index möchten, haben Sie es bereits; es ist der Schleifenzähler ('i'). – Avi

+0

Soll ein separates Array für den Index oder das gleiche Array auch den Index 0 enthalten? –

+0

gleiche Array sollte 0 und 1 –

Antwort

0
NSArray *[email protected][@1,@1,@1,@0,@0,@0,@1,@1,@0,@1,@1]; 
    NSMutableArray *tempArr=[[NSMutableArray alloc] init]; 
    for(int i=0;i<[mainArr count];i++){ 
     if([[mainArr objectAtIndex:i] isEqualToNumber:[NSNumber numberWithInt:0]]){ 
      NSMutableArray *arr=[[NSMutableArray alloc] initWithArray:tempArr]; 
      [tempArr removeAllObjects]; 
      NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:0],@"value",[NSNumber numberWithInt:i],@"index",nil]; 
      [tempArr addObject:dic]; 
      [tempArr addObjectsFromArray:arr]; 
     }else if ([[mainArr objectAtIndex:i] isEqualToNumber:[NSNumber numberWithInt:1]]){ 
      NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:1],@"value",[NSNumber numberWithInt:i],@"index",nil]; 
      [tempArr addObject:dic]; 
     } 
    } 

    NSLog(@"%@",tempArr.description); 
0
NSMutableArray *arrayContainZero = [NSMutableArray new]; 
NSMutableArray *arrayWithZeroIndexes = [NSMutableArray new]; 
for (NSNumber *numberZero in Array) 
{ 
    if(numberZero.integerValue == 0) 
    { 
      [arrayContainZero addObject:numberZero]; 
      [arrayWithZeroIndexes  addObject:@([arrayContainZeroindexOfObject:numberZero])]; 

    } 
}