Сообщение от ksa
|
Я не сторонник индусских кодов...
Час назад закончил собеседование со студентом магистратуры, ему объяснял те же постулаты.
|
Ок, не спорю, лишние итерации - не хорошо, но вот вопрос:
Нет гарантии того, что данные будут введены отсортированными, т.е. перед тем, как гонять данные в цикле, нужно будет обязательно отсортировать их, а это в любом случае придется пробежаться по всему объекту данных (typeof []=='object'). Т.е. в этом случае нам нужно будет аж 2 раза в цикле работать с массивом данных.
Что более индусский код, два раза гонять в цикле один и тот же объект или сделать это единожды?
$(function(){
function count(){
var data={
0:2,
2000:1.5,
5000:1.3,
30000:1
},
sum=+$("#count_inp").val() || 0,
last_v=-999999,
result=false;
for(var val in data){
if(data.hasOwnProperty(val) && sum>=val && last_v<val){
result=data[val]*sum;
last_v=val;
};
};
$("#result p").html(result===false?'Укажите расстояние':result+' Рублей');
};
$("#process_all_b").click(count);
});