很多时候需要去除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
)