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