从coffeescript中的嵌套for循环生成平面数组

时间:2014-08-25 01:42:52

标签: coffeescript

我正在建造一个“甲板”课程,模仿一套标准扑克牌。

我想要的是一系列52张牌,每种可能的套装和等级组合。

我GET是一个长度为4的数组,每个元素都是13个对象的数组。

CODE:

ranks = [1..13]                                                                                                                       
suits = ["S", "H", "D", "C"]          

cards = ({rank: rank, suit: suit} for rank in ranks for suit in suits)

现在我知道我可以通过声明一个空数组并在每次迭代时推送它来完成工作,但这看起来并不像使用for的返回值那样优雅。 (这是一个宠物项目,所以只是让它工作并不是唯一的目标。)

这里优雅的解决方案是什么?如何获取for语句以返回每个卡组合的平面数组?

1 个答案:

答案 0 :(得分:1)

怎么样:

cards = [].concat ({rank: rank, suit: suit} for rank in ranks for suit in suits)...