我有一个结构数组,我希望“分解”成更小的数组,可以根据需要调用,或至少弄清楚我如何映射一个文本值所需的项目 .
结构:
struct CollectionStruct {
var name : String
var description : String
var title : String
var image : PFFile
var id: String
}
以及由struct构成的数组
var collectionArray = [CollectionStruct]()
var i = 0
for item in collectionArray {
print(collectionArray[i].name)
i += 1
}
print 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
这只是一些测试值,但这里可能有成千上万的条目,所以我想通过[i] .name的前4个字符来过滤整个数组我可以通过如上所述的循环来实现这一点,但这是可以实现的 . Map ?
3 回答
不确定我是否正确理解你,但听起来你正在寻找这个......
要从已存在的名为
collectionArray
的数组(类型为CollectionStruct)创建名为partArray
的新数组,您可以...var partArray = collectionArray.map{$0.name}
您可以通过基于
name
的substring
值过滤数组来实现此目的,如下所示:filteredArray
将根据比较的字符串填充 .希望这有帮助 .
如果要按名称前缀自动对所有数据进行分组 . 您可以使用reducer生成分组项的字典 . 像这样的东西:
这将产生一个这样的字典: