给定NSDictionary
个对象中的NSArray
个(包含类似的对象和键),是否可以将执行映射写入指定键的数组?例如,在Ruby中,可以通过以下方式完成:
array.map(&:name)
给定NSDictionary
个对象中的NSArray
个(包含类似的对象和键),是否可以将执行映射写入指定键的数组?例如,在Ruby中,可以通过以下方式完成:
array.map(&:name)
Update:如果使用Swift,请参见map.
BlocksKit是一个选项:
NSArray *new = [stringArray bk_map:^id(NSString *obj) {
return [obj stringByAppendingString:@".png"];
}];
Underscore是另一种 Select .有一个map
函数,下面是网站上的一个例子:
NSArray *tweets = Underscore.array(results)
// Let's make sure that we only operate on NSDictionaries, you never
// know with these APIs ;-)
.filter(Underscore.isDictionary)
// Remove all tweets that are in English
.reject(^BOOL (NSDictionary *tweet) {
return [tweet[@"iso_language_code"] isEqualToString:@"en"];
})
// Create a simple string representation for every tweet
.map(^NSString *(NSDictionary *tweet) {
NSString *name = tweet[@"from_user_name"];
NSString *text = tweet[@"text"];
return [NSString stringWithFormat:@"%@: %@", name, text];
})
.unwrap;