두 개의 NSArray
을 비교하고 같은 객체을 새 배열에 삽입하려면 어떻게해야합니까?두 배열을 비교하고 같은 객체를 새 배열에 넣습니다.
2
A
답변
6
NSArray *array1 = [[NSArray alloc] initWithObjects:@"a",@"b",@"c",nil];
NSArray *array2 = [[NSArray alloc] initWithObjects:@"a",@"d",@"c",nil];
NSMutableArray *ary_result = [[NSMutableArray alloc] init];
for(int i = 0;i<[array1 count];i++)
{
for(int j= 0;j<[array2 count];j++)
{
if([[array1 objectAtIndex:i] isEqualToString:[array2 objectAtIndex:j]])
{
[ary_result addObject:[array1 objectAtIndex:i]];
break;
}
}
}
NSLog(@"%@",ary_result);//it will print a,c
2
답변 :
NSArray *firstArr, *secondArr;
// init arrays here
NSMutableArray *intersection = [NSMutableArray array];
for (id firstEl in firstArr)
{
for (id secondEl in secondArr)
{
if (firstEl == secondEl) [intersection addObject:secondEl];
}
}
// intersection contains equal objects
객체는 방법 compare:
를 사용하여 비교됩니다. 당신이 다른 방법을 사용하려는 경우, 단지 동일한 개체에 YES 반환 것 yourComparator와 if (firstEl == secondEl)
교체 : if ([firstEl yourComparator:secondEl])
+0
@ narayana, 고마워 많은 사람들, 나는 그것을 사용하여 해결할 수 있었다면 ([array1 objectAtIndex : i] isEqualToString : [array2 objectAtIndex : j]] – sajaz
1
//i assume u have first and second array with objects
//NSMutableArray *first = [ [ NSMutableArray alloc]init];
//NSMutableArray *second = [ [ NSMutableArray alloc]init];
NSMutableArray *third = [ [ NSMutableArray alloc]init];
for (id obj in first) {
if ([second containsObject:obj]) {
[third addObject:obj];
}
}
NSLog(@"third is : %@ \n\n",third);
more over if u have strings in both array then look at this answer of mine
관련 문제
- 1. 두 배열을 비교하고 각 배열에 따라 차이점을 표시
- 2. PHP : 두 배열을 비교하고 우선 순위별로 정렬
- 3. 두 배열을 비교하고 공통점이 있는지 확인하십시오 (PHP)
- 4. 두 폴더의 내용을 비교하고 두 폴더에있는 같은 이름의 파일을 제거하십시오.
- 5. 두 파일을 비교하고 같은 줄의 출력을 얻습니다.
- 6. 방법이 자바 문자열 배열을 비교하고 내가 두 문자열 배열을 가지고있어 같은 값
- 7. 익명 배열에 새 객체를 삽입하려면 어떻게해야합니까?
- 8. Objective-C - 배열을 비교하고 차이점을 추출하는 방법은 무엇입니까? 가능한
- 9. Ruby : 일치하는 두 배열을 비교하고 DESC 순서로 결과를 정렬하십시오.
- 10. 두 데이터 세트를 비교하고 새 데이터 세트에 값 배치
- 11. 사용자 배열을 특성으로 사용자 개체가있는 구조체 배열과 비교하고 다른 구조체 배열에 일치를 반환합니다.
- 12. PHP : 깊은 배열에 배열을 분할
- 13. 두 배열에 공통적 인 것을 찾으십시오
- 14. 버튼을 사용하여 텍스트 영역 상자의 요소를 캡처하여 메모리의 배열에 넣습니다.
- 15. jquery html() 함수는 새 줄에 텍스트를 넣습니다.
- 16. 배열을 연관 배열에 값으로 저장
- 17. 내가 같은 C의 배열을
- 18. 겹치는 엔티티 배열을 기반으로 새 배열을 만듭니다.
- 19. 두 파일을 비교하고 차이점을 추출하는 방법은 무엇입니까?
- 20. 어떻게에만 새 게시물의 JQuery와에 밀어 넣습니다
- 21. javascript - 하나의 배열을 음수 인덱스 오프셋이있는 두 번째 배열에 매핑하십시오.
- 22. 두 문자열을 비교하고 Scheme의 대소 문자를 무시합니까?
- 23. 두 테이블을 비교하고 차이점을 파일에 저장하십시오.
- 24. 자바 배열에 PHP 배열을 반환
- 25. PHP에서 연관 배열에 배열을 추가하십시오.
- 26. 두 어셈블리를 비교하고 변경 사항을 찾으십니까?
- 27. 하둡에서 연속 된 두 작업을 비교하고 싶습니다.
- 28. 두 객체를 연결하는 JavaScript
- 29. Django는 질의 객체를 배열에 할당합니다.
- 30. 다른 배열에 따라 배열을 다시 색인화하고 작성하십시오.
이 배열에있는 객체의 종류는 무엇입니까? 당신은 객체의 값 또는 객체 (참조) 자체를 비교하기를 원합니 까? – EmptyStack
두 배열에 문자열이 포함되어 있으므로 일반 문자열을 새 배열에 넣으려고합니다. – sajaz
좋아요. 이 솔루션을 사용해보십시오. http://stackoverflow.com/questions/7207805/getting-unique-numbers-from-two-arrays/7207883#7207883 – EmptyStack