这是一个最佳实践问题,而不是其他任何问题。
我编写了一个函数,它接受一个数字并返回一个值,具体取决于该数字在预定义范围内的位置。这可能有点令人困惑,所以我把下面的代码添加了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然后我迷路了。
帮助我们宠物:(