使用特定键的值过滤 NSDictionary 的 NSArray

Posted

技术标签:

【中文标题】使用特定键的值过滤 NSDictionary 的 NSArray【英文标题】:Filter NSArray of NSDictionary with specific key's value 【发布时间】:2012-03-09 09:23:10 【问题描述】:

我有一个 NSDictionary 的 NSArray,如下所示。

(
  a = 'one'
  b = 'two'
,

  a = 'ten'
  b = 'eleven'
)

我如何过滤键“b”的所有值,最终会返回一个像这样的 NSArray,

('two','eleven')

是否可以只使用 NSPredicate 而不必循环?

【问题讨论】:

【参考方案1】:

你可以用 NSArray 中的单一方法来做到这一点:

NSArray *resultArray = [yourArray valueForKey:@"b"];

【讨论】:

@MinSoe 要了解其工作原理,请查看 NSArray 的文档以了解方法 valueForKey:

以上是关于使用特定键的值过滤 NSDictionary 的 NSArray的主要内容,如果未能解决你的问题,请参考以下文章

更新/更改存储在 NSArray 中的 NSDictionary 键的值

使用 NSPredicate 过滤 NSDictionary 中的值并返回键数组

NSDictionary 的 NSArray 过滤和 NSDictionary

哪种检查 NSDictionary 是不是包含特定键的方法更快?

返回具有多个键的 NSDictionary 中对象的值

具有深度嵌套层次结构的不可变 NSDictionary:更改键的值?