迅速-在结构数组上使用.map

Pip*_*ppo 4 arrays struct swift

我有一个结构数组,我希望“分解”为较小的数组,可以根据需要调用它,或者至少可以弄清楚如何将一个文本值映射为所需的项。

结构:

struct CollectionStruct {
    var name : String
    var description : String
    var title : String
    var image : PFFile
    var id: String
}
Run Code Online (Sandbox Code Playgroud)

以及由struct构成的数组

var collectionArray = [CollectionStruct]()

var i = 0
for item in collectionArray {
    print(collectionArray[i].name)    
    i += 1  
}
Run Code Online (Sandbox Code Playgroud)

打印partArray [i] .name会得到以下结果:

pk00_pt01
pk00_pt02
pk00_pt03
pk01_pt01
pk01_pt02
pk01_pt03
pk01_pt04
pk01_pt05
pk01_pt06
pk01_pt07
pk01_pt08
Run Code Online (Sandbox Code Playgroud)

这只是一些测试值,但是这里可能有成千上万个条目,因此我只想按[i] .name的前4个字符过滤整个数组。 。地图?

Ahm*_*d F 5

我只想按[i] .name的前4个字符过滤整个数组

您可以通过根据的值过滤数组来实现此substring目的name,如下所示:

let filteredArray = collectionArray.filter {
    $0.name.substring(to: $0.name.index($0.name.startIndex, offsetBy: 4)).lowercased() == "pk00"
    // or instead of "pk00", add the first 4 characters you want to compare
}
Run Code Online (Sandbox Code Playgroud)

filteredArray 将根据比较的字符串填充。

希望这会有所帮助。