arr = arr
.sort(() => 0.5 - Math.random()) // Сортируем массив в случайном порядке
.slice(0, 25) // Берем первые 20 элементов
.sort((a, b) => a - b); // Сортируем по возрастанию
const result = [];
for (let i = 0; i < 25; i+=5) {
result.push(arr.slice(i, i + 5)); // Берем по 5 элементов из массива и пушим результирующий массив
}
id | name | type
------------------------------
1 | Чей то анализ | OAK
2 | Чей то анализ | OAK
3 | Чей то анализ | ACT
4 | Чей то анализ | OAK
5 | Чей то анализ | OAK
6 | Чей то анализ | OAK
7 | Чей то анализ | ACT
8 | Чей то анализ | OAK
9 | Чей то анализ | ACT
Итого: 6 анализов OAK, 3 анализа ACT