I'm being intruduced to functional programming and I'm avoiding as much loop as I can but I'm having some issues filling arrays. I'm learning the basics of map, sort and reduce, but I cannot apply any of those in the following code:
function generateDecks(amount){
//the set of cards
var cards = [
{suit:"spades",value:"2"},
{suit:"spades",value:"3"},
{suit:"spades",value:"4"},
{suit:"spades",value:"5"},
{suit:"spades",value:"6"},
{suit:"spades",value:"7"},
{suit:"spades",value:"8"},
{suit:"spades",value:"9"},
{suit:"spades",value:"10"},
{suit:"spades",value:"jack"},
{suit:"spades",value:"queen"},
{suit:"spades",value:"king"},
{suit:"spades",value:"ace"},
{suit:"hearts",value:"2"},
{suit:"hearts",value:"3"},
{suit:"hearts",value:"4"},
{suit:"hearts",value:"5"},
{suit:"hearts",value:"6"},
{suit:"hearts",value:"7"},
{suit:"hearts",value:"8"},
{suit:"hearts",value:"9"},
{suit:"hearts",value:"10"},
{suit:"hearts",value:"jack"},
{suit:"hearts",value:"queen"},
{suit:"hearts",value:"king"},
{suit:"hearts",value:"ace"},
{suit:"clouds",value:"2"},
{suit:"clubs",value:"3"},
{suit:"clubs",value:"4"},
{suit:"clubs",value:"5"},
{suit:"clubs",value:"6"},
{suit:"clubs",value:"7"},
{suit:"clubs",value:"8"},
{suit:"clubs",value:"9"},
{suit:"clubs",value:"10"},
{suit:"clubs",value:"jack"},
{suit:"clubs",value:"queen"},
{suit:"clubs",value:"king"},
{suit:"clubs",value:"ace"},
{suit:"diamonds",value:"2"},
{suit:"diamonds",value:"3"},
{suit:"diamonds",value:"4"},
{suit:"diamonds",value:"5"},
{suit:"diamonds",value:"6"},
{suit:"diamonds",value:"7"},
{suit:"diamonds",value:"8"},
{suit:"diamonds",value:"9"},
{suit:"diamonds",value:"10"},
{suit:"diamonds",value:"jack"},
{suit:"diamonds",value:"queen"},
{suit:"diamonds",value:"king"},
{suit:"diamonds",value:"ace"}
];
var deck = [];
//here it's the loop
for (var i = 0; i < amount; i++){
deck = deck.concat(cards);
}
}
I want to do so without using any loop, is that possible?