トランプ配り
10分でコーディングに挑戦した。
無駄ばかりのプログラムで25分かかってしまった。
ちょっとマシなのを考えてみた。
Cards = { deal: function(numPlayers, deck) { var players = []; if (numPlayers > deck.length) { for (var i = 0; i < numPlayers; i++) { players[i] = ''; } } else { for (var i = 0; i < numPlayers; i++) { players[i] = []; } // 余剰カードを無視し、String -> Array 変換 deck = deck.substr(0, deck.length - deck.length % numPlayers).split(''); // Player毎にカード取得 players = players.map(function(player, i) { // カード配列から自分のカードを取得 return deck.filter(function(card, j){ return j % numPlayers == i; }).join(''); }) } return players; } } console.log(Cards.deal(4, "123123123"));