비교 :내가 두 배열이 두 배열
array1=[1,2,3,4,5,6,7,8,9,10,11]
array2=[1,2]
내가 "array2는"날씨 요소를 비교하려면 "을 배열 1"의 존재 여부. 그렇다면 기능을 실행해야하며 그렇지 않으면 종료해야합니다. 어떻게 수행하나요?
비교 :내가 두 배열이 두 배열
array1=[1,2,3,4,5,6,7,8,9,10,11]
array2=[1,2]
내가 "array2는"날씨 요소를 비교하려면 "을 배열 1"의 존재 여부. 그렇다면 기능을 실행해야하며 그렇지 않으면 종료해야합니다. 어떻게 수행하나요?
무엇 배열 1 이상 열거 어떻습니까? 나는이 같은 일반적인 항목을 얻을 수 있습니다
NSArray *array1 = ...;
NSArray *array2 = ...;
[array1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if ([array2 containsObject: obj]) {
// Run the function you wanted to
}
}];
루프에 대한 것이 작업을 수행하는 쉬운 논리 방법 :
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
}
}
}
의 라인을 따라
는뭔가 : -
일반적인 배열의NSMutableSet *idSet=[NSMutableSet setWithArray:Array1];
[idSet intersectSet:[NSSet setWithArray:Array2]];
NSArray *Common_array=[idSet allObjects];
당신이 두 배열에 존재하고있는 동일한 개체를 얻을 수 있습니다 0 Common_array에있는 객체와 두 객체 모두에 동일한 객체가 없습니다.
입니다. – kushalrshah
은 달콤하고 단순합니다. – Wolverine
메모리 관리를 위해 더 많은 +1을 주길 바란다. – ilhnctn
덕분에 열거 된 항목 덕분에, 포함 된 항목 중 일부에서만 일부 코드를 실행하려는 경우 새로운 개체를 만들 필요가 없습니다. 아이디어가 걸러지면 NSMutableSet 접근 방식을 사용합니다. –
내가 NSMutableSet을 사용하여 대답하기로 결정한 질문을 보았지만 게시글을 읽은 후이 코드는 가장 쉽고 간결한 코드 – ilhnctn