从两个数组生成所有可能的字符串组合(javascript)

从两个数组生成所有可能的字符串组合(javascript),javascript,string,combinations,Javascript,String,Combinations,我目前有两个阵列,如下所示: let suits = ['♣', '♦', '♥', '♠']; let cards = ['A','2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']; 我想把这些组合起来,包含52个字符串的数组,以及所有可能的卡片组合。例如: ['A♣', 'A♦', 'A♥', 'A♠', '2♣' ...] 我知道我可以编写两个嵌套的“for循环”并将它们合并,但有没有更有效的方法呢 谢谢 你可以使用

我目前有两个阵列,如下所示:

let suits = ['♣', '♦', '♥', '♠'];
let cards = ['A','2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'];
我想把这些组合起来,包含52个字符串的数组,以及所有可能的卡片组合。例如:

['A♣', 'A♦', 'A♥', 'A♠', '2♣' ...]
我知道我可以编写两个嵌套的“for循环”并将它们合并,但有没有更有效的方法呢

谢谢

你可以使用这个方法

const suits=['♣', '♦', '♥', '♠'];
常量卡片=['A'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'、'10'、'J'、'Q'、'K'];
const ret=cards.flatMap((x)=>suits.map((y)=>`${x}${y}');
console.log(ret);
您可以使用这个方法

const suits=['♣', '♦', '♥', '♠'];
常量卡片=['A'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'、'10'、'J'、'Q'、'K'];
const ret=cards.flatMap((x)=>suits.map((y)=>`${x}${y}');
console.log(ret);
您可以执行以下操作:

const suits=['♣','♦','♥','♠']
,卡片=['A'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'、'10'、'J'、'Q'、'K']
;
const deck=cards.reduce((d,c)=>[…d,…suits.map(s=>s+c)],[]))
控制台日志(甲板)
。作为控制台包装{max height:100%!important;top:0;}
您可以这样做:

const suits=['♣','♦','♥','♠']
,卡片=['A'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'、'10'、'J'、'Q'、'K']
;
const deck=cards.reduce((d,c)=>[…d,…suits.map(s=>s+c)],[]))
控制台日志(甲板)

.as控制台包装{max height:100%!important;top:0;}
这能回答您的问题吗?这能回答您的问题吗?