将数组与目标C中的计数合并

Bar*_*Bar 1 cocoa-touch objective-c nsmutablearray nsarray ios

我有这样的数组

A = [@"aa",@"cc",@"bb",@"bb",@"cc",@"aa",@"cc"]
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为

A = [@"x2 aa",@"x2 bb",@"x3 cc"]
Run Code Online (Sandbox Code Playgroud)

Ano*_*dya 6

计算相似的元素并创建一个新字符串,将其添加到新数组中.如下图所示:

NSArray *aArray = @[@"aa", @"cc", @"bb", @"bb", @"cc", @"aa", @"cc"];

NSCountedSet *set = [NSCountedSet setWithArray:aArray];

NSMutableArray *countedArray = [NSMutableArray new];
for (NSString *str in set) {
    [countedArray addObject:[NSString stringWithFormat:@"x%ld %@",[set countForObject:str], str]];
}

NSLog(@"%@",countedArray);
Run Code Online (Sandbox Code Playgroud)

输出:

("x2 bb","x2 aa","x3 cc")