これは非常に基本的なようですが、これを行うための最良の方法を見つけることができません...ユーザーが選択した開始変数と終了変数をループする関数を設定しようとしています。これが私の結末ですが、もっと良い方法があると確信しています(demo)。動的開始変数と終了変数を使用したJavascriptループ
注:x &の変数はゼロではなく1にインデックスされます。
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;
};
私はこの機能を試してみましたが、結果は1つの結果オフになっているときに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;
};
だから、最初の関数が最善であるか、誰かがより良い方法がありますか?
しかし、あなたはスクリプトを読みやすくするために 'start = Math.min(x、y);'と 'end = Math.max(x、y);'を使うことができます –