当键作为参数给出时对字典数组进行排序
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"]]
我在 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"]]