How to count duplicates values in NSArray?

后端 未结 3 1226
情书的邮戳
情书的邮戳 2021-02-02 03:08

Value of my NSArray includes the duplicates. I find the duplicates but now how can I find the no. they repeat?

相关标签:
3条回答
  • 2021-02-02 03:54

    You can try something like this

    __block NSInteger elementCount = 0;
    NSArray *array;
    
    [<#NSArray yourArray#> indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop){
        if (obj == <#yourObject#>) {
            elementCount++;
            return YES;
        }
        return NO;
    }];
    

    Let me know if that works for you

    0 讨论(0)
  • 2021-02-02 03:58

    Example:

    NSArray *names = [NSArray arrayWithObjects:@"John", @"Jane", @"John", nil];
    NSCountedSet *set = [[NSCountedSet alloc] initWithArray:names];
    
    for (id item in set) {
    
        NSLog(@"Name=%@, Count=%lu", item, (unsigned long)[set countForObject:item]);
    }
    
    0 讨论(0)
  • 2021-02-02 04:04

    You can use NSCountedSet for this. Add all your objects to a counted set, then use the countForObject: method to find out how often each object appears.

    0 讨论(0)
提交回复
热议问题