在javascript中对数字进行分类

在javascript中对数字进行分类,javascript,refactoring,Javascript,Refactoring,这实际上是一个最佳实践问题,而不是其他任何问题 我编写了一个函数,它接受一个数字并根据该数字在预定义刻度上的位置返回一个值。这可能有点让人困惑,因此我将代码放在下面,并添加了一个示例,尽管您最好在开发控制台中使用 var getSize = function(number){ var sizes = { 100 : 'url_t', 240 : 'url_s', 320 : 'url_n',

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

我编写了一个函数,它接受一个数字并根据该数字在预定义刻度上的位置返回一个值。这可能有点让人困惑,因此我将代码放在下面,并添加了一个示例,尽管您最好在开发控制台中使用

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
它工作正常,性能相当好,只是有点恶心。我试图想出一个更好的解决办法,但感觉更令人讨厌。我有没有遗漏什么可以让这更美好的东西?我在玩把大小放在一个数组中的游戏,所以它们更像JSON,但后来我迷路了


帮助我们宠物:

这可能更适合codereview.stackexchange.com。我不知道它的存在。我会在那里穿上的,谢谢戴夫。