arrays - 在swift中获取元组数组的子集

标签 arrays swift generics swift2

我有一个像下面这样的元组数组

var customProducts = [(productType: String, info:[String:AnyObject?])]

参数“productType”的作用类似于“产品类别”,如水果、 Cereal 、饮料等。

参数“info”是产品营养信息的字典。

我想根据 productType 获取元组数组的一个子集,这样我就可以只获取特定 productType 的“信息”字典。在 C# 中,我会尝试使用 Linq 执行以下操作:

var fruits = customProducts.Where(q=>q.productType == "fruit").Select(q => q.info) as List<KeyValuePair<string, object>>;

如何使用 Swift (2.x) 存档相同的结果?

谢谢!

最佳答案

我认为 Swift 的等价物是:

let fruits = customProducts.filter { $0.productType == "fruit" }.map { $0.info }

在这里fruits[[String : AnyObject?]] ,一个字典数组(一个 info 的数组,如果我没记错的话,与你的 List<KeyValuePair<string, object>> 相同)。

关于arrays - 在swift中获取元组数组的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36608363/

相关文章:

swift - NSUserDefaults 中的增量整数

c# - 如何从对象类型定义泛型类型?

java - 将动态数组中的对象存储到静态数组中-Java

objective-c - iOS For 循环打印数组

swift - 异步等待失败 Swift 4 Alamofire

java - 泛型方法返回 param 类型的父类(super class)型和方法参数类型 param

java - 类 <P> 在 Java 中是什么意思?

c - 使用 struct 与 pthread 进行合并排序

java - 将txt文件中的信息排序到两个不同的数组中

ios - swift : How can I get time in hours of my current location for my app?