Как извлечь один тип значения из массива, чтобы создать отдельный массив один за другим? - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь извлечь только идентификаторы из массива свойств, чтобы сформировать отдельный массив. До сих пор я придумал это:

struct Interactions: View {

@State var A: [Properties] = [
    .init(id: 5, name: "Five"),
    .init(id: 8, name: "Eight"),
    .init(id: 2, name: "Two")
]
var body: some View {

    List(loadIdArray(), id: \.self) { i in
        Text("\(i)")
    }


}

func loadIdArray() -> [Int] {

    let ids: [Int] = [1, 2]
    for i in 0 ..< self.A.count {
        let ids = [self.A[i].id, self.A[i + 1].id]
        return ids
    }
    return ids
}
}

Проблема в том, что мне пришлось бы вручную вводить каждый [self.A [I + ...]. Id], что противоречит цели функции ,

Я хочу получить ответ для loadIdArray () = [5, 8, 2], и он должен делать это автоматически в зависимости от количества элементов в массиве «A».

1 Ответ

1 голос
/ 11 апреля 2020

как насчет использования этого:

func loadIdArray() -> [Int] {
    return self.A.map { $0.id }
}
...