使用map创建一个对象数组,该对象数组的另一个对象数组的对象属性很少

时间:2019-10-07 20:54:41

标签: swift

假设我们有一个这样的 Employee

class Employee {
    var id: String?
    var name: String?
    var role: String?
    var age: Int?
    var salary: Int?
}

var employeeList: [Employee]

我必须使用employeeList中的几个属性(例如ID,名称,年龄)创建一个新的对象数组。

除了使用for循环迭代employeeList以外,还有其他方法(如地图)吗?

2 个答案:

答案 0 :(得分:3)

如果您想使用map,则可以执行以下操作:

class Employee {
    var id: String?
    var name: String?
    var role: String?
    var age: Int?
    var salary: Int?
}

var employeeList: [Employee]

var employeeModifiedList = employeeList.map {
    (id: $0.id, name: $0.name, age: $0.age)
}

答案 1 :(得分:0)

像这样吗?

let myData: [(String?, String?, Int?)] = employeeList.map { ($0.id, $0.name, $0.age) }

尽管不确定为什么您的idString类型...通常ID是Int