当键作为参数给出时对字典数组进行排序

Sort a dictionary array when the key is given as the parameter

我在 swift3 中的一个项目中工作,我有一个名为 "details" 的 NSArray,其中包含 NSDictionary 对象。我的要求是如果将 "key" 作为参数传递(例如:- name、lastName、age),则对这个 NSArray 进行排序。我的 NSArray 如下所示。

(
 {name:"John";
  lastName :"bow";
  age: "26"; 
 },
 {
  name:"paul";
  lastName :"law";
  age: "19";
  }

)

我怎样才能做到这一点??

试试这个:

NSSortDescriptor * sortDescriptors = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; // change your key here
NSArray * arrSortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray * sortedArray = [yourArray sortedArrayUsingDescriptors:arrSortDescriptors];
NSLog(@"sortedArray %@",sortedArray);

使用sort:

var dicts = [["name":"b"], ["name":"a"], ["name":"z"], ["name":"f"]]
dicts.sort { [=10=]["name"]! < ["name"]! }
print(dicts)

打印 [["name": "a"], ["name": "b"], ["name": "f"], ["name": "z"]]