Создайте массив объектов с несколькими свойствами объекта другого массива объектов, используя карту - PullRequest
0 голосов
/ 07 октября 2019

Предположим, у нас есть класс Employee , подобный этому

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

var employeeList: [Employee]

Мне нужно создать новый массив объектов с несколькими свойствами (например, id, name, age) из employeeList.

Есть ли другой способ (например, map), кроме использования цикла for для итерации employeeList?

Ответы [ 2 ]

3 голосов
/ 08 октября 2019

Если вы хотите использовать 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)
}
0 голосов
/ 08 октября 2019

Как-то так?

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

Хотя не уверен, почему ваш id тип String ... обычно идентификаторы Int

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...