如何获得在iOS Swift数组中的所有string的第一个字母?

我有一组string存储在一个数组中。

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

我想获得所有string的第一个字母,并将其存储在一个数组中。 像: letterArray = [A, B, C, D, F]

注意:它们不在引号内“ – ”

不知道你的意思是“他们不在引号内”,但是如果他们实际上是string,那么就像这样:

 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

正如利奥·达布斯 ( Leo Dabus)所build议的那样,如果你传递一个空的string,上面的就会失败 如果你知道永远不会有一个空string,这不适用,但我已经更新上述来处理这种情况:

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

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"]