使用map / reduce函数将一个结构转换为另一个结构

时间:2019-01-17 10:58:50

标签: swift struct

如何使用swift的高阶函数将一个结构数组的值映射/减少到另一个结构数组?当前,iam遍历数组并将每个值附加到新数组。是否有任何“快捷”方法将元素映射到其他元素?

/// Code sample
let priorityList = [Priority]()
let pushRowList = [PushRowList]()

for priority in priorityList {
  let id = priority.priorityID
  let state = priority.priorityState
  let item = PushRowList(optionId: id, optionTitle: state)
  pushRowList.append(item)
}

我希望使用map,reduce等“快捷”方法来执行操作。

1 个答案:

答案 0 :(得分:7)

您只需使用map,因为您只想访问数组每个元素的某些属性并使用它们来创建另一种类型。

let pushRowLists = priorityList.map{PushRowList(optionId: $0.priorityID, optionTitle: $0.priorityState}