Как перетасовать колоду карт в JavaScript: алгоритм Фишера-Йейтса, сортировка массива и Lodash

Чтобы перетасовать колоду карт в JavaScript, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: алгоритм перемешивания Фишера-Йейтса

function shuffleDeck(deck) {
  for (let i = deck.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [deck[i], deck[j]] = [deck[j], deck[i]];
  }
  return deck;
}
// Example usage:
const deck = ['Ace of Spades', 'King of Hearts', 'Queen of Diamonds', ...]; // Add all the cards to the deck array
const shuffledDeck = shuffleDeck(deck);
console.log(shuffledDeck);

Метод 2: использование метода Array sort()

function shuffleDeck(deck) {
  return deck.sort(() => Math.random() - 0.5);
}
// Example usage:
const deck = ['Ace of Spades', 'King of Hearts', 'Queen of Diamonds', ...]; // Add all the cards to the deck array
const shuffledDeck = shuffleDeck(deck);
console.log(shuffledDeck);

Метод 3: использование библиотеки Lodash (функция перемешивания)
Перед использованием этого метода обязательно включите библиотеку Lodash в свой проект. Вы можете подключить Lodash через CDN или установив его через npm/yarn.

// Example usage:
const deck = ['Ace of Spades', 'King of Hearts', 'Queen of Diamonds', ...]; // Add all the cards to the deck array
const shuffledDeck = _.shuffle(deck);
console.log(shuffledDeck);

Это три распространенных метода перетасовки колоды карт в JavaScript. Смело выбирайте тот, который лучше всего соответствует вашим потребностям!