swift - map 返回的数组顺序

标签 swift swift2

这只是突然出现在我的脑海中,虽然“我知道它是如何工作的,但不知道它应该是什么时刻”。假设我有一个数组:

struct Person {
    var name : String
    var age : Int
}

var people = [Person]()
people.append(Person(name: "John", age: 24))
people.append(Person(name: "Mike", age: 21))
people.append(Person(name: "Emma", age: 23))

我想将 people 映射到两个具有名称和年龄的不同数组:

let names = people.map { $0.name }
let ages  = people.map { $0.age }

问题:

  1. 是否保证结果将按原始数组的顺序排列,即 names = ["John", "Mike", "Emma"]年龄 = [24, 21, 23]?

  2. 如果第一个问题的答案是否定的,是否可以保证 namesages 同步?

最佳答案

是的,还有 here's your source .

“将提供的闭包应用于每个数组元素后,map(_:) 方法返回一个包含所有新映射值的新数组,其顺序与原始数组中相应值的顺序相同。”

关于swift - map 返回的数组顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31358581/

相关文章:

ios - 当单元格在 View 外部时,ClipsToBounds重置

ios - 验证失败后提示用户再次通过 UIAlertController 输入内容会在日志上显示警告

Swift - 如何使用对象数组对表进行分组

ios - 获取从服务器下载的一些文本(?)文档

swift - 使用 Codable 时的错误 - Swift

ios - 运行 2 个 iOS 模拟器——第二个不显示任何应用程序

ios - 我在目录中有图像。必须获取该图像并将其转换为 base64 字符串?

ios - swift 从模态返回后如何保留文本字段值?

ios - 有谁知道这段代码有什么问题?

ios - 将图像上传到 Firebase 并获取引用