【问题标题】:Merge arrays with its count in Objective C在Objective C中将数组与其计数合并
【发布时间】:2014-03-17 07:39:46
【问题描述】:

我有一个这样的数组

A = [@"aa",@"cc",@"bb",@"bb",@"cc",@"aa",@"cc"]

我需要把它转换成

A = [@"x2 aa",@"x2 bb",@"x3 cc"]

【问题讨论】:

    标签: ios objective-c cocoa-touch nsmutablearray nsarray


    【解决方案1】:

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

    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);
    

    输出:

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

    【讨论】:

    • 其实不需要创建计数集实例。该算法可能会更容易。
    • @lgor:你是在说你的答案吗???这如何以 x2、x3、x4 方式设置计数????请尝试您的答案并按照 OP 的要求检查所需的输出。
    猜你喜欢
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    相关资源
    最近更新 更多