iOS 获取一个数组中比另一个数组多出的元素

文章目录

需求

获取数组 firstArray 比 secondArray 多的元素

代码

 NSMutableArray *tmpNewRequestedChannelArray = [NSMutableArray array];
                [firstArray enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    
    
                    __block BOOL hasInLastChanenelArray = NO;
                    // 遍历 secondArray 查看是否有 和 obj  nodeId属性 相同的元素
                    [[secondArray enumerateObjectsUsingBlock:^(id  _Nonnull obj2, NSUInteger idx2, BOOL * _Nonnull stop2) {
    
    
                        if ([obj[@"nodeId"] integerValue] == [obj2[@"nodeId"] integerValue]) {
    
    
                            hasInLastChanenelArray = YES;
                            *stop2 = YES;
                        }
                    }];
                    if (!hasInLastChanenelArray) {
    
    
                        [tmpNewRequestedChannelArray addObject:obj];
                    }
                }];
/*
双层遍历结束之后, tmpNewRequestedChannelArray 里面就存放了 firstArray有
secondArray 中没有的元素
*/

实际应用

如,获取服务端新增加的数据等等

例子

Guess you like

Origin blog.csdn.net/LIUXIAOXIAOBO/article/details/121706637