iOS-数组去重so easy!

2018-05-15  本文已影响20人  香蕉你个菠萝

很多时候需要去除NSArray重复的元素,你可以这样做……

方法一

利用NSSet不会添加重复元素的特性。不过去重的数组不会进行排序。

    NSArray *array = @[@1,@2,@1,@2,@3,@3];

    NSSet *set = [NSSet setWithArray:array];

    NSLog(@"%@",[set allObjects]);

打印结果

 (
    3,
    2,
    1
)
方法二

以下方法不会乱序

        NSArray * nameArray = [NSArray arrayWithObjects:@"22",@"1",@"22",@"3",@"5",@"15",@"15",@"5",@"1", nil];
    NSMutableArray *categoryArray = [[NSMutableArray alloc] init];
    
    for (unsigned i = 0; i < [nameArray count]; i++){
        
        if ([categoryArray containsObject:[nameArray objectAtIndex:i]] == NO){
            
            [categoryArray addObject:[nameArray objectAtIndex:i]];
            NSLog(@"xh-%@---categoryArray%@",[nameArray objectAtIndex:i],categoryArray);
        }
    }

结果如下

(
    22,
    1,
    3,
    5,
    15
)
上一篇 下一篇

猜你喜欢

热点阅读