从数组中删除随机项并推送到新数组

Remove random item from array and push to new array

提前致谢!我不熟悉编码和学习如何处理数组。我正在尝试从数组(一副纸牌)中删除随机项目,并填充一个新数组(称为手牌)。我似乎总是遇到数组的问题是获取一个结果并创建一个新的 function/array/ 等。目前,我正在输出 2 个单独的数组,但我似乎无法将它们推入一个。

let deck = ["dA","dQ","dK","dJ","d10","d09","d08",
"d07","d06","d05","d04","d03","d02","hA","hQ","hK",
"hJ","h10","h09","h08","h07","h06","h05","h04","h03"];


var hand = deck.splice(Math.floor(Math.random()*deck.length),1);
    console.log(hand)
var hand = deck.splice(Math.floor(Math.random()*deck.length),1);
console.log(hand);

在您的代码中,只需要推送从 splice 方法返回的值,而不是直接分配它。 通过这种方式,每次删除一个新值并将其添加到名为 hand 的新数组中。希望这可以帮助。 :-)

let deck = ["dA","dQ","dK","dJ","d10","d09","d08",
        "d07","d06","d05","d04","d03","d02","hA","hQ","hK",
        "hJ","h10","h09","h08","h07","h06","h05","h04","h03"];

var hand = [];

const getSelectedCard = () => deck.splice(Math.floor(Math.random()*deck.length),1)

let selectedCard = getSelectedCard();
hand.push(...selectedCard) //or hand.push(selectedCard[0])
console.log(hand);

selectedCard = getSelectedCard();
hand.push(...selectedCard)
console.log(hand);