美文网首页
根据一个数值寻找数组中最接近这个数值的对象

根据一个数值寻找数组中最接近这个数值的对象

作者: 小熊翻译App | 来源:发表于2017-09-07 14:28 被阅读0次

    问题描述:根据地图的层级(mapView.zoomLevel),在数组内寻找到最接近这个层级的数值

    - (NSInteger)getMinValueShowLevel:(NSArray *)showLevels mapZoomLevel:(CGFloat)mapZoomLevel{
        NSInteger suitValue = (int)mapZoomLevel;
        NSInteger diffLevel = 9999;
        for (NSNumber *showLevel in showLevels) {
            NSInteger diffLevelTmp = fabs(mapZoomLevel - [showLevel intValue]);
            if (diffLevelTmp < diffLevel) {
                diffLevel = diffLevelTmp;
                suitValue = [showLevel intValue];
            }
        }
        return suitValue;
    }
    
    注:代码中
    showLevels:存有数值对象,如: showLevels = @[@(12), @(7), @(9)];
    suitValue:找到的最合适的值
    diffLevel:层级差
    mapZoomLevel:参照层级,根据这个层级,找到数组中最接近这个数的值
    

    相关文章

      网友评论

          本文标题:根据一个数值寻找数组中最接近这个数值的对象

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