Это кажется довольно простым, но я не могу найти лучший способ сделать это ... Я пытаюсь настроить функцию, которая проходит между выбранными пользователем начальной и конечной переменными. Это то, чем я закончил, но я уверен, что есть лучший способ сделать это ( demo ).
Примечание : переменные x & y индексируются в единицу, а не в ноль.
getWidths1 = function(x, y) {
var start = (x < y) ? x : y,
end = (x < y) ? y : x,
total = 0;
for (; start < end; start++) {
total += values[start - 1] || 0;
}
return total;
};
Я пробовал эту функцию, но результаты - один результат, когда y> x:
getWidths2 = function(x, y) {
var total = 0,
diff = (x < y) ? 1 : -1;
while (x !== y) {
total += values[x - 1] || 0;
x += diff;
}
return w;
};
Итак, первая функция лучше, или у кого-то есть лучший метод?