EN
JavaScript - how to calculate page number when we know size of page and item index?
5 points
In this article, we're going to have a look at how in JavaScript, calculate page number on which item is located, when we know:
- maximal size of the single page,
- item index (counted from
0
).
Simple example:
xxxxxxxxxx
1
const calculatePageNumber = (pageSize, itemIndex) => {
2
return Math.ceil(++itemIndex / pageSize);
3
};
4
5
6
// Example usage:
7
8
const pageSize = 10;
9
const itemIndex = 29;
10
const pageNumber = calculatePageNumber(pageSize, itemIndex);
11
12
console.log('pageNumber=' + pageNumber); // pageNumber=3
The above logic result explanation:
- the maximal size of the single page is
10
(pageSize
variable),- the item index is
29
(itemIndex
variable),So:
- page
1
should contain item indexes from0
to9
- page
2
should contain item indexes from10
to19
- page
3
should contain item indexes from20
to29
so we have item on
3
rd page.
In this section we present simple test for different calculatePageNumber()
usage cases.
xxxxxxxxxx
1
const calculatePageNumber = (pageSize, itemIndex) => {
2
return Math.ceil(++itemIndex / pageSize);
3
};
4
5
6
// Exmaple tests:
7
8
const pageSize = 10;
9
10
var testingData = [
11
{ itemIndex: 0, pageNumber: 1 },
12
{ itemIndex: 1, pageNumber: 1 },
13
{ itemIndex: 9, pageNumber: 1 },
14
{ itemIndex: 10, pageNumber: 2 },
15
{ itemIndex: 11, pageNumber: 2 }
16
];
17
18
console.log('Page numbers:');
19
console.log('[expected]\t[actual]');
20
21
for (const entry of testingData) {
22
const pageNumber = calculatePageNumber(pageSize, entry.itemIndex);
23
if (entry.pageNumber !== pageNumber) {
24
throw new Error('Page number calculator error.');
25
}
26
console.log(entry.pageNumber + '\t\t' + pageNumber); // expected vs actual
27
}