📅  最后修改于: 2023-12-03 15:08:58.876000             🧑  作者: Mango
在Swift中,可以使用map
和compactMap
函数来从数组对象中的特定键获取值列表。
map
函数将一个数组中的每个元素都映射到一个新的值,并返回一个新的数组。在这种情况下,我们可以从每个对象中获取特定键的值。
下面是一个示例,从对象数组中获取每个对象的"key"键的值列表:
let objectArray = [
["key": "value1"],
["key": "value2"],
["key": "value3"]
]
let valueArray = objectArray.map { $0["key"] }
print(valueArray)
// 输出 ["value1", "value2", "value3"]
在这个示例中,我们使用map
函数将objectArray
数组中的每个对象都映射到它们的"key"键的值。最终结果是一个包含所有值的新数组。
compactMap
函数是map
函数的扩展,其会将nil
值过滤掉,并返回一个新的数组。在这种情况下,我们可以使用它来过滤掉那些没有特定键的对象。
下面是一个示例,仅从对象数组中获取包含"key"键的对象的值列表:
let objectArray = [
["key": "value1"],
["key2": "value2"],
["key": "value3"]
]
let valueArray = objectArray.compactMap { $0["key"] }
print(valueArray)
// 输出 ["value1", "value3"]
在这个示例中,我们使用compactMap
函数从objectArray
数组中仅获取包含"key"键的对象,并将它们的值映射到一个新的数组。最终结果是一个包含所有值的新数组,但是对象数组中不包含键为"key2"的对象,所以它不在新数组中。
以上是如何在Swift中从数组对象中的特定键获取值列表的介绍。这些函数是非常有用的,因为它们可以简化代码,并减少了在循环中手动获取值的需要。