很多時候需要去除NSArray重復的元素,你可以這樣做……
方法一
利用NSSet不會添加重復元素的特性。不過去重的數(shù)組不會進行排序。
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
)