简体   繁体   中英

Compare two arrays

I have two arrays:

array1=[1,2,3,4,5,6,7,8,9,10,11]
array2=[1,2]

I want to compare weather elements in "array2" is present in "array1" or not. If yes then I need to run a function, otherwise exit. How to do it?

I have get the common items like this:-

NSMutableSet *idSet=[NSMutableSet setWithArray:Array1];
[idSet intersectSet:[NSSet setWithArray:Array2]];
NSArray *Common_array=[idSet allObjects];

in common array you can get the same object that are present in both array and is 0 object in Common_array than in both array there is none on object that are same.

An easy logic way to do this would be a for loop:

for(int a = 0; a < array1.count; a++) {
    for(int b = 0; b < array2.count; b++) {
        if([[array1 objectAtIndex:a] isEqualToString:[array2 objectAtIndex:b]]) {
            //do something here
        }
    }
}

What about enumerating over array1?

Something along the lines of

NSArray *array1 = ...;
NSArray *array2 = ...;

[array1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    if ([array2 containsObject: obj]) {
        // Run the function you wanted to
    }
}];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM