W klasie NSArray
istnieje metoda isEqualToArray:
, która porównuje dwie tablice i wskazuje, czy pasują, czy nie.Porównanie dwóch tablic ignorujących porządek
Mam dwie tablice, które mają elementy w różnych porządkach. Na przykład:
NSMutableArray* arr1 = [@[@"one", @"two", @"three"] mutableCopy];
NSMutableArray* arr2 = [@[@"three", @"one", @"two"] mutableCopy];
BOOL same = [arr1 isEqualToArray:arr2];
NSLog(@"%d", same);
W powyższym przykładzie, chociaż arr1
i arr2
mają takie same elementy, isEqualToArray:
wraca NO
. Jak mogę porównać dwie tablice, jak wspomniano powyżej, bez konieczności powtarzania każdego elementu w pętli for
/while
?
Zobacz mądrą odpowiedź Martina na to: http://stackoverflow.com/questions/15709494/compare-two-arrays-with-same-value-but-with-a-different-order – Monolo