标题可能有点混乱,这是我想要完成的。
给予n = 51
& m = 24
我想得到:
[
{start:0, end:24},
{start:24, end:48},
{start:48, end:51}
]
到目前为止,我有这个,但我需要抵消j
和end
var n = 51;
var m = 24;
var arr = [];
for (var j = 0; j < n; j += m) {
var end = (j + j) >= n ? n : j;
console.log(j, end);
if (j > 0) arr.push({
start: j,
end: end
});
}
任何想法?
答案 0 :(得分:2)
问题在于end
计算,如果j+ m
大于n
,那么您希望end
为n
var n = 51;
var m = 24;
var arr = [];
for (var j = 0; j < n; j += m) {
var end = (j + m);
arr.push({
start: j,
end: end > n ? n : end
});
}
result.innerHTML = JSON.stringify(arr, null, 2)
&#13;
<pre id="result"></pre>
&#13;
答案 1 :(得分:1)
var n = 51;
var m = 21;
var arr = [];
for (var j = 0; j < n; j += m) {
var end = j + m > n ? n : j + m;
arr.push({
start: j,
end: end
});
}
alert(JSON.stringify(arr));