Javascript-如何删除数组中数组的所有元素

Javascript-如何删除数组中数组的所有元素,javascript,Javascript,当前当我运行console.log(deckOfCards)时,它正在返回 全部52张牌,每张牌上都有一套衣服、价值和分配给它们的点数 { suit: '♦', value: 'A', points: 11 } { suit: '♦', value: 2, points: 2 } { suit: '♦', value: 3, points: 3 } ..... 现在,我想从我的deckOfCards数组中移除一张具有套装、值和点数的卡,并将其返回 { suit: '♦', value: 'A'

当前当我运行console.log(deckOfCards)时,它正在返回 全部52张牌,每张牌上都有一套衣服、价值和分配给它们的点数

{ suit: '♦', value: 'A', points: 11 }
{ suit: '♦', value: 2, points: 2 }
{ suit: '♦', value: 3, points: 3 }
.....
现在,我想从我的deckOfCards数组中移除一张具有套装、值和点数的卡,并将其返回

{ suit: '♦', value: 'A', points: 11 }
这是模拟从牌组中处理一张牌

const suits = ["♦", "♣", "♥", "♠"];
const values = ["A", 2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K"];

for (const suit of suits) {
 for (const value of values) {

  let points = parseInt(value);
   if(value === "J" || value === "Q" || value === "K") points = 10;
   if(value === "A") points = 11;

  const deckOfCards = {suit, value, points};

  const card = deckOfCards

 }
}
我尝试访问数组的每个索引并将它们添加到card变量中,但它为索引2提供了一个未定义的值

For循环只返回一个套装数组,而不返回其他套装数组

我已经把装饰板变成了一个有衣服、价值和点数的物体

我的牌常数是我想从牌组中抽出一张牌的地方

const suits = ["♦", "♣", "♥", "♠"];
const values = ["A", 2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K"];

for (const suit of suits) {
 for (const value of values) {

  let points = parseInt(value);
   if(value === "J" || value === "Q" || value === "K") points = 10;
   if(value === "A") points = 11;

  const deckOfCards = {suit, value, points};

  const card = deckOfCards

 }
}
编辑尝试添加新方法

我试图在玩家/庄家手中各增加两张牌, 但当我记录它时:

[ { suit: '♠', value: 'A', points: 11 } ]
[ { suit: '♠', value: 'A', points: 11 },
  { suit: '♦', value: 10, points: 10 } ]
为什么我要返回3个对象而不是2个

const dealRandomCard = () => {
 return deckOfCards.splice(Math.floor(Math.random() * 
deckOfCards.length), 1)[0];
}

// console.log(dealRandomCard());

//////////////////////////////////////////////////////////////

for (let i = 0; i <= 1; i++) {
 playerHand.push(dealRandomCard());
 dealerHand.push(dealRandomCard());
  console.log(playerHand);
// console.log(dealerHand);
}
const dealandomcard=()=>{
返回卡板拼接(数学地板(数学随机)(*
甲板长度),1)[0];
}
//log(dealandomcard());
//////////////////////////////////////////////////////////////

对于(设i=0;i),您可以使用单个组合对象来创建结果集,并使用一个对象来缩短获取点的时间

var=♦", "♣", "♥", "♠"],
数值=[“A”、2、3、4、5、6、7、8、9、10、“J”、“Q”、“K”],
卡片=[],
适合
价值
点={A:11,J:10,Q:10,K:10};
(一套西装){
对于(值的值){
扑克牌(套装,价值,点数:点数[价值]| |价值});
}
}
函数getCard(){
返回卡.拼接(Math.floor(Math.random()*cards.length),1)[0];
}
log(getCard());
log(getCard());
log(getCard());

console.log(cards);
小丑怎么办?请添加想要的结果。移除部分在哪里?您正在循环内重新定义阵列。它将永远不会有多个套装、值或点数(由于您在循环内定义,因此在循环范围外也无法访问它)@DanielWilliams在这副牌中没有小丑
parseInt(“A”)
将返回NaNthanks。这比我所拥有的要清楚得多,但我如何从对象数组中获取一个对象,就像模拟一个庄家从牌堆中分发一张牌一样?牌的前14个元素是钻石,接下来14个是梅花等等……getCards函数末尾发生了什么,1)[0]splice接受一个元素并返回一个拼接元素数组。当您需要单个对象而不是数组中的对象时,它接受第一个或唯一的元素。@Anakin,
cards
是一个排序数组,因为它是由两个
for
循环构建的。