我有2个字符串数组:
NSArray * current = @[@"1", @"6", @"53"];
NSArray * new = @[@"1", @"626", @"53", @"13"];
我想在数组中获得数字6,在第二个数组中获得数字626和13 (我希望数据在第一个数组中,但不存在第二个数据,反之亦然)
NSMutableSet * newSet = [NSMutableSet setWithArray:new];
[newSet minusSet:[NSSet setWithArray:current ]];
NSArray * result1 = [NSArray arrayWithSet:newSet];
NSArray * result2 = ?
我没理解,我知道这是一个非常简单的问题,但我没有想法
答案 0 :(得分:0)
//仅创建ID数组
NSArray *notiCloudIDs = [notiCloud valueForKey:@"id"];
NSArray *notiLocIDs = [notiLoc valueForKey:@"id"];
//将数组转换为集合并与两组相交
NSMutableSet *notiCloudIDsSet = [NSMutableSet setWithArray:notiCloudIDs];
NSMutableSet *notiLocIDsSet = [NSMutableSet setWithArray:notiLocIDs];
[notiCloudIDsSet intersectSet:notiLocIDsSet];
//两个数组中都存在notiCloudIDsSet中的ID
NSLog(@"Duplicate IDs: %@", notiCloudIDsSet);
这将为您提供两者中的共同元素。然后,您可以从array1中删除公共元素。
答案 1 :(得分:0)
您的代码包含许多语法错误。 请发布实际代码,我理解你所说的问题,这就是我发布这个答案的原因。请使用有效代码发布问题,否则您将无法获得正确答案(仅限获取投票)
使用以下代码:
NSArray *current = @[@"1", @"6", @"53"];
NSArray *newArr = @[@"1", @"626", @"53", @"13"];
NSMutableSet *newSet = [NSMutableSet setWithArray:newArr];
[newSet minusSet:[NSSet setWithArray:current]];
NSArray * result1 = [NSArray arrayWithObjects:[newSet allObjects],nil];
// result 1 will have 626 and 13
newSet = [NSMutableSet setWithArray:current];
[newSet minusSet:[NSSet setWithArray:newArr]];
NSArray * result2 = [NSArray arrayWithObjects:[newSet allObjects],nil];
// result 2 will have 6