/
vasya2
/
var
Обзор
Документация
Войти
/
vasya2
/
var
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
shared/utils/shuffle-array.ts
14 строк
477 B
Huyen Nguyen
refactor(api, curriculum): use the shared shuffleArray util (#56444)
02 окт 2024, 16:55
Не верифицирован
02 окт 2024, 16:55
0ba9eef
Код
Авторство
О чём код?
/** Shuffle array using the Fisher–Yates shuffle algorithm */ export const shuffleArray = <T>(arrToShuffle: Array<T>) => { const arr = [...arrToShuffle]; for (let i = arr.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); // We know that i and j are within the bounds of the array, TS doesn't // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion [arr[i], arr[j]] = [arr[j]!, arr[i]!]; } return arr; };