ios-比较数组中对象的值并放入同一部分

ios-比较数组中对象的值并放入同一部分,ios,objective-c,arrays,object,Ios,Objective C,Arrays,Object,我目前在数组和对象的逻辑上有问题,希望大家能解决我的沉默,谢谢 以下是我所拥有的: NSArray data = @[@[@"year",@"name"], @[@"2015",@"A"], @[@"2014",@"B"],.... ]; //have 100 small array, year can be similar 所以我想问我如何循环它们,将对象的年份与下一个对象进行比较,然后如果

我目前在数组和对象的逻辑上有问题,希望大家能解决我的沉默,谢谢

以下是我所拥有的:

NSArray data = @[@[@"year",@"name"],
                 @[@"2015",@"A"],
                 @[@"2014",@"B"],....
                ];

//have 100 small array, year can be similar
所以我想问我如何循环它们,将对象的年份与下一个对象进行比较,然后如果年份相同,将其放入类似于数据数组的NSDictionary中,但键=年份:

 NSDictionary dict = @[@"year":@[@"year",@"name"],
                       @"2015":@[@[@"2015",@"A"],@[@"2015",@"C"]],
                       @"2014":@[@"2014",@"B"],
                       @"2013":@[@"2013",@"D"],...
                      ];
我试着用谓词给我我想要的…但我不确定如何用不同的年份(我认为这是错误的,不确定)

这给我在小阵里面有两个同年的阵

//output of 2 array:
filtered1 = @[@[@"2015",@"diff name"],
              @[@"2015",@"A"],..
              ];
filtered2 = @[@[@"other year",@"diff name"],
              @[@"2014",@"B"],...
              ];

我的想法是,获取第一个小数组的年份,然后与其余99个小数组的年份进行比较,将第一年的数组乘积,获取另一个小数组,然后再次执行…但不确定如何实现它

使用for循环并对照上一个记录进行检查,我没有100%的理解当你成功找到时你想做什么,但这应该行得通

NSString *prevData;
NSMutableArray *newData=[NSMutableArray array];
//check the last one
for (int i=0;i< data.count;i++)
{
     NSArray currentData= [data objectAtIndex:i];
     if(i!=0  && ([currentData objectAtIndex:0] isEqualTo:[prevData objectAtIndex:0])) 
     {
         //add the data to newData
         [newData addObject:currentData];
     }
     prevData=currentData


}
NSString*prevData;
NSMutableArray*newData=[NSMutableArray];
//检查最后一个
for(int i=0;i
谢谢,我已经弄清楚了我想要的结果……这可能吗?对不起,田,我没有明白你的意思
NSString *prevData;
NSMutableArray *newData=[NSMutableArray array];
//check the last one
for (int i=0;i< data.count;i++)
{
     NSArray currentData= [data objectAtIndex:i];
     if(i!=0  && ([currentData objectAtIndex:0] isEqualTo:[prevData objectAtIndex:0])) 
     {
         //add the data to newData
         [newData addObject:currentData];
     }
     prevData=currentData


}