问题
我有两个等长的[String]
数组,我希望将其映射到[Record]
。
Record
有一个构造函数,它为记录编号(从1到n)获取id,str1
和str2
获取来自arr1
和{{1}的条目}}
如何使用功能范例快速完成此操作?
我知道我可以使用一个简单的arr2
循环来做到这一点,但我想知道是否有一种实现相同功能的功能方法。
Swift Snippet
for...in
答案 0 :(得分:2)
试试这个:
struct Record
{
var id : UInt /* record number */
var str1 : String
var str2 : String
init(id: UInt, str1: String, str2: String) {
self.id = id
self.str1 = str1
self.str2 = str2
}
}
class Records
{
var records : [Record]
init(arr1: [String], arr2: [String])
{
let count = min(arr1.count, arr2.count)
records = (0..<count).map { Record(id: UInt($0 + 1), str1: arr1[$0], str2: arr2[$0]) }
}
}
let arr1 : [String] = ["one", "two", "three"]
let arr2 : [String] = ["uno", "dos", "tres"]
let recs = Records(arr1: arr1, arr2: arr2)