单个数组分成两个数组的代码如何?

当我使用从我需要的URL的JSONparsing,但我在这里我不喜欢得到2,1,4,4,6,5,8,7,10,9,12和11在单个数组中,我必须得到两个数组的总响应我的意思是一个数组集合将包括2,4,6,8,10和其他数组必须是3,5,7,9和11。

那么如何在iPhone中将单个数组的响应分解成两个数组呢?

"(\n 2,\n 1\n)", "(\n 4,\n 3\n)", "(\n 6,\n 5\n)", "(\n 8,\n 7\n)", "(\n 10,\n 9\n)", "(\n 12,\n 11\n)" 

如果将每个数字组合到一个大数组中,那么可以通过一个简单的if-else在for-in循环中可行地testing每个数字是偶数还是奇数。 也许这样:

 -(NSArray*)parseJSONIntoArrays:(NSArray*)array { NSMutableArray *evenNumbers = [[NSMutableArray alloc]init]; NSMutableArray *oddNumbers = [[NSMutableArray alloc]init]; for (NSNumber *number in array) { if (([number intValue] %2) == 0) { //even [evenNumbers addObject:number]; } else { //odd [oddNumbers addObject:number]; } } return [[NSArray alloc]initWithObjects:evenNumbers, oddNumbers, nil]; } 

要拆分数组,通常需要循环遍历所有值,并使用IF ELSE结构来决定将值放入哪个数组。另外,您需要使用NSMutableArray而不是NSArray 。 像这样的东西:

 NSMutableArray *evenNumbers = [NSMutableArray new]; NSMutableArray *oddNumbers = [NSMutableArray new]; for (NSNumber *value in myArray) { if ([value intValue] % 2 == 0) { [evenNumbers addObject:value]; } else { [oddNumbers addObject:value]; } }