0
订单我有NSMutableArray
存储的词典需要被整理出....排序取决于存在于另一个阵列字段....重新排列的NSMutableArray根据从第二阵列
实施例:
阵列1 ==>红色-1,白色-2,绿色-3,阵列2 ==>绿色,红色, 白色
结果应该是数组3 =>绿色-3,红色-1,白色-2 。(项目 数组1根据数组2中的顺序排序)。
订单我有NSMutableArray
存储的词典需要被整理出....排序取决于存在于另一个阵列字段....重新排列的NSMutableArray根据从第二阵列
实施例:
阵列1 ==>红色-1,白色-2,绿色-3,阵列2 ==>绿色,红色, 白色
结果应该是数组3 =>绿色-3,红色-1,白色-2 。(项目 数组1根据数组2中的顺序排序)。
如果你的第一个数组是这样的:[{@"Red": @1}, {@"White": 2}, {@"Green": 3}]
,接下来的办法应该工作:
NSArray* array3 = [array1 sortedArrayUsingComparator:^NSComparisonResult(NSDictionary* dict1, NSDictionary* dict2) {
NSUInteger idx1 = [array2 indexOfObject:[dict1 allKeys][0]];
NSUInteger idx2 = [array2 indexOfObject:[dict2 allKeys][0]];
if(idx1 < idx2) return NSOrderedAscending;
if(idx2 > idx1) return NSOrderedDescending;
return NSOrderedSame;
}];
你为什么不建立它在双'for'?对于数组2中的每个元素,您可以在数组1中找到相应的元素,然后将其添加到数组3中。 – Templar
是啊....我做到了,但有些如何感觉它不是最好的方式......可能有很好的方法。 ...很简单,然后有两个for循环....如果苹果提供任何东西....即使苹果的东西,我试图找出,但没有发现任何... – user2813740
另外,你可以用一个单一的数组替换字典,然后您可以即时访问每个元素的值。 – Templar