gpt4 book ai didi

ios - 从 Objective-C 中的数组获取唯一对象集的最佳方法是什么

转载 作者:行者123 更新时间:2023-11-28 19:37:15 24 4
gpt4 key购买 nike

我有一个包含模型对象列表的数组

模型对象具有属性名称、年龄、性别、我的日期如下

user* user1.name = "Bob", 
user1.age = "10",
user1.gender = "M",

user* user2.name = "Bob",
user2.age = "11",
user2.gender = "M",

user* user3.name = "Woz",
user3.age = "15",
user3.gender = "M",

user* user4.name = "Woz",
user4.age = "16",
user4.gender = "M",

现在我需要得到唯一的名字和较小的年龄作为结果。

user* user1.name = "Bob", 
user1.age = "10",
user1.gender = "M",

user* user3.name = "Woz",
user3.age = "15",
user3.gender = "M",

得出上述结果的有效方法是什么。提前致谢任何提示或帮助将不胜感激。

最佳答案

您可以简单地迭代数组以查找最年轻的用户,将每个用户存储在按名称键入的字典中。迭代数组后,只需将所有字典值作为数组获取即可;

-(NSArray*)getYoungestUniqueUsersFromArray:(NSArray*)users {

NSMutableDictionary* youngestUsersDict = [NSMutableDictionary new];

for (User* user in users) {
User* currentUser = youngestUsersDict[user.name];
if (currentUser == nil || user.age < currentUser.age) {
youngestUsersDict[user.name]=user;
}
}

NSArray* youngestUsers = [youngestUsersDict allValues];

return youngestUsers;
}

关于ios - 从 Objective-C 中的数组获取唯一对象集的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37581225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com