13 lines
355 B
JavaScript
13 lines
355 B
JavaScript
export default function getRandomItems(items, count) {
|
|
const shuffled = [...items];
|
|
|
|
// Fisher-Yates shuffle
|
|
for (let i = shuffled.length - 1; i > 0; i--) {
|
|
const j = Math.floor(Math.random() * (i + 1));
|
|
[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
|
|
}
|
|
|
|
return count > shuffled.length ? shuffled : shuffled.slice(0, count);
|
|
}
|
|
|