function getSumStrategy(maxValue, minValue) {
return function (a, b) {
return Math.max(minValue, Math.min(maxValue, a + b))
}
}
function foo(sumStrategy) {
return sumStrategy(1, 5)
}
function bar(sumStrategy) {
return sumStrategy(10, 5)
}
function baz(sumStrategy) {
return sumStrategy(20, 5)
}
const sumStrategy = getSumStrategy(20, 10)
foo(sumStrategy) // 10
bar(sumStrategy) // 15
baz(sumStrategy) // 20
как примерно сделать функцию которая например дал первые 10 а потом сного но с 11 пропустил 10 первые?
class ServerPlaceHolder {
#posts = [];
#postsPerPage = 10;
constructor({posts = [], postsPerPage = 10 }) {
this.#posts = posts
this.#postsPerPage = postsPerPage
}
*posts () {
let postsToPage = []
let currentPage = 0
do {
postsToPage = this.#posts.slice(currentPage++ * this.#postsPerPage, currentPage * this.#postsPerPage);
if (postsToPage.length)
yield postsToPage
} while(postsToPage.length)
}
}
Ваш 2 пункт?