首页 > 解决方案 > 使用 map/reduce 函数将一个结构转换为另一个结构

问题描述

如何使用 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 等“swifty”方法来执行操作。

标签: swiftstruct

解决方案


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

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

推荐阅读