Пагинация на javascript
Arr = [0, 1, 2, 3, 4, 5, 6, 7]
rndIdsGrouped = []
numberOfCards = 6 //8 или 6
numberOfPages = 8 // 6 или 16
function generateArr(numberOfCards) {
let finalArr = []
let arr = [];
while (finalArr.length != 48) {
while (arr.length !=Arr.length) {
let idx = Math.floor(Math.random() * (Arr.length))
if (arr.indexOf(idx) == -1) {
arr.push(idx);
}
}
let page = arr.splice(0,numberOfCards);
finalArr = finalArr.concat(page);
}
return finalArr;
}
//делаю проверку:
x = generateArr(numberOfCards)
const count = x.reduce((item, index) => {
item[index] = (item[index] || 0) + 1;
return item;
}, {})
console.log(count)
({ '0': 6, '1': 6, '2': 6, '3': 5, '4': 6, '5': 6, '6': 7, '7': 6 }) //не выходит всех по 6
Добрый день. Реализую пагинацию и появилась проблема. У нас есть 8 элементов, из которых по условию, нужно сделать массив из 48 элементов, сгенерированный псевдослучайным образом.Каждый из 8 элементов должен встречаться ровно 6 раз. При этом каждые 8, каждые 6 и каждые 3 элемента на странице не должны повторяться. т.е. на одной странице пагинации не может быть одновременно двух одинаковых элементов.В зависимости от ширины экрана: если 8 элементов - 6 страниц , 6 элементов - 8 страниц, 3 элемента - 16 страниц. Помогите исправить, пожалуйста