我有一个函数,它用不同的参数调用了 12 次,可以在代码中连续调用 12 次函数吗?

I have a function, that's invoked 12 times with different arguments, is it okay to have in code 12 function calls in a row?

我有一个函数,用不同的参数调用了 12 次,在代码中连续调用 12 次函数可以吗?在我的纸牌游戏中,该函数将纸牌从牌组抽到玩家手中。

drawCard(userHand);
drawCard(userHand);
drawCard(bot1Hand);
drawCard(bot1Hand);
drawCard(bot2Hand);
drawCard(bot2Hand);
drawCard(bot3Hand);
drawCard(bot3Hand);
drawCard(bot4Hand);
drawCard(bot4Hand);
drawCard(bot5Hand);
drawCard(bot5Hand);
drawCard(dealerHand);
drawCard(dealerHand);
drawCard(dealerHand);

您可以尝试类似的方法:

function test(a){
    console.log(a);
}

my_list = [1,2,3,4,6,7]

for (const num of my_list) { test(num); }

在您的示例中,my_list 将是:

my_list = [userHand, userHand, bot1Hand, bot1Hand ...]

是的,这本身并没有错。

选项 1:

如果你想让你的代码更具可读性,你可以将所有的手添加到一个列表中并循环遍历列表以调用每个元素上的函数。

let hands = [userHand, bot1Hand, bot2Hand, ...];

for (const hand of hands) {
    drawCard(hand)
}

选项 2:

我看到你为每个函数调用了两次。因此,您可以 运行 drawCard() 函数中的代码使用循环两次,以便将函数调用量减半。

选项 3:

您可以向 drawCard() 添加另一个参数,其中包含您要抽取的卡片数量,然后是 return 已抽取卡片的列表。