从数组中删除随机项并推送到新数组
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);
提前致谢!我不熟悉编码和学习如何处理数组。我正在尝试从数组(一副纸牌)中删除随机项目,并填充一个新数组(称为手牌)。我似乎总是遇到数组的问题是获取一个结果并创建一个新的 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);