Avatar ·

Como embaralhar corretamente os elementos de um array em JavaScript?

Olá a todos! Sou novo em JavaScript e me deparei com a seguinte tarefa: preciso embaralhar os elementos de um array em ordem aleatória. Por exemplo, tenho um array com cartas para um jogo:\n\n```javascript\nconst cards = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'];\n```\n\nQuero que, após o embaralhamento, a ordem dos elementos se torne aleatória. Tentei usar `Math.random()` junto com `sort()`, assim:\n\n```javascript\ncards.sort(() => Math.random() - 0.5);\n```\n\nParece funcionar, mas li que essa abordagem está incorreta, porque a distribuição não será uniforme. Além disso, alguns elementos podem permanecer em suas posições originais com mais frequência do que outros. Digam-me como implementar corretamente o embaralhamento de Fisher-Yates (ou qualquer outro algoritmo correto) em JavaScript puro? É importante que a fu