美文网首页
ios 快速获取数组中的最大值、最小值

ios 快速获取数组中的最大值、最小值

作者: 落叶随风_90e5 | 来源:发表于2019-04-30 09:06 被阅读0次

    在开发过程中,经常会用到NSArray,然后找出数组中的最大值、最小值,很多时候我们一般用for循环来封装一个算法求最值,虽然可以但是还是不够快速。其实Apple底层可我们封装了一个十分好用的API,可以通过valueForKeyPath方法来设置你想要获取的一些数组。

    NSMutableArray* array = [NSMutableArray array];

    for (int i = 0; i < 10; i++) {

        CGFloat num = arc4random() % 100 + 1;

        [array addObject:[NSNumber numberWithFloat:num]];

    }

    CGFloat maxValue = [[array valueForKeyPath:@"@max.floatValue"] floatValue];

    CGFloat minValue = [[array valueForKeyPath:@"@min.floatValue"] floatValue];

    min、max是NSArray的私有属性,通过.语法是拿不到的,会报错的。类似这种私有属性还有

    @”@avg.floatValue” (获取平均值), 

    @”@count.floatValue”(获取数组大小) 

    @"@sum.floatValue"(求和)

    还可以去重

    NSArray *array = @[@"a", @"wechat", @"qq", @"msn", @"wechat"];

    NSArray *deleltNewA = [array valueForKeyPath:@"@distinctUnionOfObjects.self"];

    相关文章

      网友评论

          本文标题:ios 快速获取数组中的最大值、最小值

          本文链接:https://www.haomeiwen.com/subject/jrxmnqtx.html