KVC 中的 valueForKeyPath 在数组里的一些用法

  • 对数组里面的字符串做大小写转换 注:只对字符串有效

NSArray *array = @[@"XIAOming", @"xiaohua", @"zhangshan", @"lisi", @"777"];
NSLog(@"%@", [array valueForKey:@"uppercaseString"]);
NSLog(@"%@", [array valueForKey:@"lowercaseString"]);
大小写转换结果
  • 返回每个字符串长度的组成的数组 注:只对字符串有效

NSArray *array = @[@"XIAOming", @"xiaohua", @"zhangshan", @"lisi", @"777"];
NSLog(@"%@", [array valueForKey:@"length"]);
字符串长度
  • 快速计算数组求和、平均数、最大值、最小值

NSArray *array = @[@"1", @"1", @1, @"hehe"];
NSLog(@"\n%@\n%@\n%@\n%@",
          [array valueForKeyPath:@"@sum.floatValue"],
          [array valueForKeyPath:@"@avg.floatValue"],
          [array valueForKeyPath:@"@max.floatValue"],
          [array valueForKeyPath:@"@min.floatValue"]);
数组求和、平均数、最大值、最小值
  • 删除重复的数据

NSArray *array = @[@"1", @"1", @1, @"hehe"];
NSLog(@"%@", [array valueForKeyPath:@"@distinctUnionOfObjects.self"]);
删除重复数据
  • 快速找出字典数组key对应的值

 NSArray *array = @[@{@"name" : @"xiaoming",
                         @"code" : @1},
                       @{@"name": @"judy",
                         @"code" : @2},
                       @{@"name": @"judy",
                         @"code" : @3},
                       @{@"name": @"xiaohua",
                         @"code" : @4},
                       @{@"name": @"xiaoming",
                         @"code" : @4}];
NSLog(@"%@", [array valueForKeyPath:@"name"]);
快速找出字典数组key对应的值
  • 删除重复的数据,嵌套版

 NSArray *array = @[@{@"name" : @"xiaoming",
                         @"code" : @1},
                       @{@"name": @"judy",
                         @"code" : @2},
                       @{@"name": @"judy",
                         @"code" : @3},
                       @{@"name": @"xiaohua",
                         @"code" : @4},
                       @{@"name": @"xiaoming",
                         @"code" : @4}];
NSLog(@"%@", [array valueForKeyPath:@"@distinctUnionOfObjects.name"]);
删除重复的数据,嵌套版
  • 将多个数组去重合并和直接合并

NSArray *temp1 = @[@3, @2, @2, @1];
NSArray *temp2 = @[@3, @4, @5];
    
NSLog(@"\n%@",[@[temp1, temp2] valueForKeyPath:@"@distinctUnionOfArrays.self"]);
NSLog(@"\n%@",[@[temp1, temp2] valueForKeyPath:@"@unionOfArrays.self"]);
将多个数组去重合并和直接合并
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,695评论 0 5
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,503评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,502评论 19 139
  • 中国史学界具有相当悠久的口述历史传统,而现代意义上的西方口述史学概念则是从20世纪80年代开始传入中国。不过直到2...
    素咫阅读 293评论 0 1
  • 平明漠漠, 水烟一色照。 翠蔼馀凉。 暮舞红酣娇艳纵, 山浮动,空影竹篁。 晚舫归湖岸,吹笛管, 立尽斜阳。 熏风...
    断红尘阅读 390评论 0 0

友情链接更多精彩内容