循环遍历数组并删除具有相同值的索引

时间:2014-06-09 12:43:13

标签: objective-c

我有一个数组,包含一些CGPoints值,稍后将其添加到另一个数组数据中。

    CGFloat xpoint = [[points objectAtIndex:0] floatValue];
    CGFloat ypoint = [[points objectAtIndex:1] floatValue];
    CGFloat xpoint1 = [[points objectAtIndex:2] floatValue];
    CGFloat ypoint1 = [[points objectAtIndex:3] floatValue];
    CGFloat xpoint2 = [[points objectAtIndex:4] floatValue];
    CGFloat ypoint2 = [[points objectAtIndex:5] floatValue];
    CGFloat xpoint3 = [[points objectAtIndex:6] floatValue];
    CGFloat ypoint3 = [[points objectAtIndex:7] floatValue];
    CGFloat xpoint4 = [[points objectAtIndex:8] floatValue];
    CGFloat ypoint4 = [[points objectAtIndex:9] floatValue];
    CGFloat xpoint5 = [[points objectAtIndex:10] floatValue];
    CGFloat ypoint5 = [[points objectAtIndex:11] floatValue];
    CGFloat xpoint6 = [[points objectAtIndex:12] floatValue];
    CGFloat ypoint6 = [[points objectAtIndex:13] floatValue];
    CGFloat xpoint7 = [[points objectAtIndex:14] floatValue];
    CGFloat ypoint7 = [[points objectAtIndex:15] floatValue];
    CGFloat xpoint8 = [[points objectAtIndex:16] floatValue];
    CGFloat ypoint8 = [[points objectAtIndex:17] floatValue];
    CGFloat xpoint9 = [[points objectAtIndex:18] floatValue];
    CGFloat ypoint9 = [[points objectAtIndex:19] floatValue];

[data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint,ypoint)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint1,ypoint1)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint2,ypoint2)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint3,ypoint3)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint4,ypoint4)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint5,ypoint5)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint6,ypoint6)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint7,ypoint7)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint8,ypoint8)]];
    [data addObject:[NSValue valueWithCGPoint:CGPointMake(xpoint9,ypoint9)]];

我想创建一个循环遍历数组并检查具有相同值的x-koordinates的循环,然后删除"最老的"值。 Fx的。

(x,y)
1,1
2,2
2,3
2,4
3,4

我只想要一个带2的值,但同时我想要添加所有y值,x值= 2。然后删除这些值,这样只返回一个x值= 2。所以我希望输出结果为:

(x,y)
1,1
2,9
3,4

请帮帮我:)。

亲切的问候

1 个答案:

答案 0 :(得分:1)

你可以循环所有值并将它们添加到一个新数组中,whale还将它们添加到一个字典中,其键是你要删除的键,所以在添加之前,检查它是否已经在字典中知道它是否已经已添加