Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
529 views
in Technique[技术] by (71.8m points)

Generate all possible combinations of strings from two arrays (javascript)

I currently have two arrays that look like this:

let suits = ['?', '?', '?', '?'];
let cards = ['A','2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'];

And I want to combine these to contain an array of 52 strings with all possible combinations of cards. E.g.:

['A?', 'A?', 'A?', 'A?', '2?' ...]

I know I could write two nested "for loops" and concatonate them, but is there a more efficient way to do this?

Thanks!

question from:https://stackoverflow.com/questions/65713062/generate-all-possible-combinations-of-strings-from-two-arrays-javascript

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You could use Array.prototype.flatMap() method.

const suits = ['?', '?', '?', '?'];
const cards = ['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);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...