2016-01-08 31 views
0

标题可能有点混乱,这是我想要完成的。如何根据已知值从数字中获取每个n?

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

任何想法?

+1

一个' '是未定义的 - 这是一个想法 –

+0

@JaromandaX我不好,忘记了一些代码 – Patrioticcow

+0

'var end =(j + m)> = n? n:(j + m);'? – Holt

回答

2

的问题是在你的end计算,如果j+ m大于n那么你要endn

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>

+0

谢谢,工作正常 – Patrioticcow

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

相关问题