Подтвердить что ты не робот

Как получить первую букву всех строк в массиве в iOS Swift?

У меня есть группа строк, хранящихся в массиве.

stringArray = [Aruna, Bala, Chitra, Divya, Fatima]

Я хочу получить первые буквы всех строк и сохранить их в массиве. Например: letterArray = [A, B, C, D, F]

Примечание. Они не входят в кавычки "-"

4b9b3361

Ответ 1

Не уверен, что вы подразумеваете под "они не входят в кавычки", но если они на самом деле являются строками, то что-то вроде этого:

var letterArray = [Character]()
for string in stringArray {
    letterArray.append(string.characters.first!)
}

ИЗМЕНИТЬ

Чтобы использовать его как String, как вам угодно:

var letterArray = [String]()
for string in stringArray {
    letterArray.append(String(string.characters.first!))
}

РЕДАКТИРОВАТЬ 2

Как Лео Дабус предполагает, что если вы пройдете пустую строку, то выше будет не удастся. Если вы знаете, что никогда не будет пустой строки, это не будет применяться, но я обновил выше, чтобы обработать этот случай:

var letterArray = [String]()
for string in stringArray {
    if let letter = string.characters.first {
        letterArray.append(String(letter))
    }
}

Ответ 2

Xcode 8 beta 3 • Swift 3

extension Collection where Iterator.Element == String {
    var initials: [String] {
        return map{String($0.characters.prefix(1))}
    }
}

Xcode 7.3.1 • Swift 2.2.1

extension CollectionType where Generator.Element == String {
    var initials: [String] {
        return map{ String($0.characters.prefix(1)) }
    }
}


let stringArray = ["Aruna", "Bala", "Chitra", "Divya", "Fatima"]

let initials = stringArray.initials  // ["A", "B", "C", "D", "F"]