如何根据已知值从数字中获取每个n?

时间:2016-01-08 07:46:30

标签: javascript arrays object

标题可能有点混乱,这是我想要完成的。

给予n = 51& m = 24我想得到:

[
    {start:0, end:24}, 
    {start:24, end:48}, 
    {start:48, end:51}
]

到目前为止,我有这个,但我需要抵消jend

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
  });
}

任何想法?

2 个答案:

答案 0 :(得分:2)

问题在于end计算,如果j+ m大于n,那么您希望endn

&#13;
&#13;
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;
&#13;
&#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));