Пагинация на 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 страниц. Помогите исправить, пожалуйста


Ответы (0 шт):