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

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

有什么想法吗?

最佳答案

问题出在您的 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)
<pre id="result"></pre>

关于javascript - 如何根据已知值从数字中获取每个n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34671907/

相关文章:

javascript - 省略没有值的字段

javascript - 智能文件组件(html5smartfile)不起作用

javascript - 将 video.js 库与 Webpack 的 ProvidePlugin 结合使用

c - 为什么数组大小为 1

不允许声明 Java 变量

javascript - Fancybox 中没有显示图像

python - Skimage图路由到多个目的地

php - 展平多维数组但维护键?

javascript - 对象值未定义

php - 为对象交互设计类和函数