-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-booklet.js
More file actions
25 lines (23 loc) · 864 Bytes
/
Copy pathtest-booklet.js
File metadata and controls
25 lines (23 loc) · 864 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function getBookletPages(totalPages) {
let finalPages = [];
for (let i = 1; i <= totalPages; i++) finalPages.push(i);
while (finalPages.length % 4 !== 0) finalPages.push(null);
let outputs = [];
let outputPageCount = finalPages.length / 2;
for (let i = 0; i < outputPageCount; i++) {
let leftPage, rightPage;
const isFront = (i % 2 === 0);
if (isFront) {
leftPage = finalPages[finalPages.length - 1 - i];
rightPage = finalPages[i];
} else {
leftPage = finalPages[i];
rightPage = finalPages[finalPages.length - 1 - i];
}
outputs.push({left: leftPage, right: rightPage, isFront});
}
return outputs;
}
console.log("4 Pages:", getBookletPages(4));
console.log("8 Pages:", getBookletPages(8));
console.log("3 Pages:", getBookletPages(3));