在javascript中对数字进行分类

时间:2014-07-22 14:47:18

标签: javascript refactoring

这是一个最佳实践问题,而不是其他任何问题。

我编写了一个函数,它接受一个数字并返回一个值,具体取决于该数字在预定义范围内的位置。这可能有点令人困惑,所以我把下面的代码添加了jsfiddle(尽管在开发控制台中你可能会更好)。

var getSize = function(number){
        var sizes = {
            100 : 'url_t',
            240 : 'url_s',
            320 : 'url_n',
            500 : 'url_m',
            640 : 'url_z',
            800 : 'url_c',
            1024 : 'url_l',
        },
        result = sizes[100];

    for (var size in sizes){
        if(number < size){
            result = sizes[size];
            break;
        }
        result = sizes[1024];
    }
    return result;
};
getSize(10) // returns url_t
getSize(130) // returns url_s
getSize(2000) // returns url_l
getSize(600) // returns url_z

它有效并且性能相当,只是有点icky。我试图提出一个更好的解决方案,但它只是感觉更加敏捷。有什么我想念的东西会让这个更好吗?我正在玩把数据放在一个数组中,所以他们更多JSON ish然后我迷路了。

帮助我们宠物:(

0 个答案:

没有答案