ios 快速获取数组中的最大值、最小值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 快速获取数组中的最大值、最小值相关的知识,希望对你有一定的参考价值。
参考技术A 在开发过程中,经常会用到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"];
js中如何快速获取数组中的最大值最小值
1 var arr=[1,2,3,5]; 2 alert(Math.max.apply(null, arr));//最大值 3 alert(Math.min.apply(null, arr));//最小值
多维数组可以这么修改:
1 var arr=[1,2,3,[5,6],[1,4,8]]; 2 var arr2=arr.join(",").split(",");//转化为一维数组 3 alert(Math.max.apply(null,arr2));//最大值 4 alert(Math.min.apply(null,arr2));//最小值
以上是关于ios 快速获取数组中的最大值、最小值的主要内容,如果未能解决你的问题,请参考以下文章