Chi*_*iko -1 javascript numbers
所以我要解决的问题是获得一个动态范围并将其分成 6 个部分。
例如,范围可以从 6.1 开始到 93.6 结束。或者像 6-24 一样简单。
最后,我想要做的是在该范围内获得 6 个不同的点。如果是 1-24,那就是 4、8、12、16、20、24。
这是我使用的一种方法,但结果不太准确:
const range = {start: '', end: ''};
const offset = Math.ceil(range.end / 6);
const markers = []
for(let i = offset; i <= range.end; i++){
if(range.end % i == 0){
markers.push(i)
}
}
console.log(markers);
Run Code Online (Sandbox Code Playgroud)
对于六个零件,您需要五个偏移量。该偏移量由左右的增量除以部分减一计算。
然后迭代直到取所有较小的部分,最后取正确的值而不进行任何计算以防止浮点算术错误。
function split(left, right, parts) {
var result = [],
delta = (right - left) / (parts - 1);
while (left < right) {
result.push(left);
left += delta;
}
result.push(right);
return result;
}
console.log(split(6, 24, 6));
console.log(split(6.1, 93.6, 6));Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }Run Code Online (Sandbox Code Playgroud)