const idx = query.idx;
let page = 1;
if (idx > 19){
page = 2
};
if (idx > 39){
page = 3
};
if (idx > 59){
page = 4
};
console.log(page);
这是我的代码,我试图在每隔19、39、59等之后更改页面变量,是否有更好的方式编写此代码,好像我有更多索引,我将需要添加更多ifs
答案 0 :(得分:5)
除以20(页面大小)并取整结果。像这样:
const idx = query.idx;
const page = Math.ceil((idx + 1) / 20)
console.log(page);
测试组合:
[
1,
5,
15,
19,
20,
21,
36,
39,
40,
41,
49,
59,
60,
68,
].forEach(idx => {
console.log(idx, Math.ceil((idx + 1) / 20))
})
答案 1 :(得分:0)
尝试以下
const findPage = (idx, limit)=> Math.ceil(idx / limit)+1
console.log(findPage(19, 20))
console.log(findPage(39, 20))
console.log(findPage(59, 20))
答案 2 :(得分:0)
这应该是一个解决方案
const idx = query.idx;
let page = Math.floor(idx / 20) + 1;
console.log(page);
如果只需要使用ifs:
if (idx > 19 && idx < 40){
page = 2
};
if (idx > 39 && idx < 60){
page = 3
};
if (idx > 59){
page = 4
};