如何在 Swift 中过滤字符串数组

Jay*_*kar 2 arrays ios swift swift3

通过使用Objective C,我使用NSPredicate过滤年份数组,

下面是代码。

  yearArray = [yearArray filteredArrayUsingPredicate:[NSPredicate
  predicateWithFormat:@"SELF != ''"]];
Run Code Online (Sandbox Code Playgroud)

根据上面的代码,它在 Objective c 中工作正常,我必须在Swift 3中过滤数组,

什么是输入年份数组:-

( Year,"","","",JAN,"","","",FEB,"","","",MAR,"","","",APR,"","","",
  MAY,"","","",JUN,"","","",JUL,"","","",AUG,"","","",SEP,"","","",OCT
  ,"","","", NOV,"","","",DEC,"","","","",WIN,"","","",SPR,"","","",SUM
  ,"","","",AUT,"","","","",ANN)
Run Code Online (Sandbox Code Playgroud)

需要过滤器输出数组

(Year,JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC,WIN,SPR,SUM,AUT,ANN)
Run Code Online (Sandbox Code Playgroud)

请给出如何快速过滤数组的解决方案。

Ale*_*rov 5

使用此代码:

let yearArray: [String] = ... // your array of type [String]

let filteredArray = yearArray.filter {
    !$0.isEmpty
}
Run Code Online (Sandbox Code Playgroud)

看一下输出的图片:

例子

  • 如果您使用 Swift,并且您的情况没有什么特别之处,则应该使用 Swift 类型。您可以使用“var array: [String]”代替“NSMutableArray”。 (2认同)