Give Me A Hand es-419 Explainer

Explicación de Dame una mano

Objetivo de este acertijo: Usar .shift() para eliminar el primer elemento de un arreglo.
Tutorial de la solución: El método de arreglo .shift() es similar a .pop(), excepto que elimina y devuelve el primer elemento de un arreglo en lugar del último.

En este acertijo, se importa un mazo de cartas barajado al acertijo como el arreglo deck. La función drawCard() toma el parámetro cards y devuelve cards.shift(). Cuando se llama a esta función con deck como un argumento, devolverá el primer elemento de deck.

Para completar el acertijo, agrega return cards.shift() dentro del cuerpo de la función drawCard().
Solución del código de ejemplo:

import { deck } from 'grasshopper.croupier';

function drawCard(cards) {
    return cards.shift();
}

console.log(deck.length);
console.log('Your card is: ' + drawCard(deck));
console.log(deck.length);

Código adicional (código oculto que se ejecuta antes del código del acertijo):

const _deck = (()=> {
    const cards = [];
    const suits = ['Hearts', 'Spades', 'Clubs', 'Diamonds'];
    const values = ['Ace', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'Jack', 'Queen', 'King'];
    
    for (let suit in suits) {
      for (let value in values) {
        cards.push(`${values[value]} of ${suits[suit]}`);
      }
    }
    return cards;
})();

const shuffle = (array) => {
    for (let i = array.length - 1; i > 0; i--) {
        let j = Math.floor(Math.random() * (i + 1));
        [array[i], array[j]] = [array[j], array[i]];
    }
    return array;
};

let deck = shuffle(_deck);
1 Like