Dans mon application de poker que j'ai un tableau des mains, chaque tableau étant à la main des objets de carte sélectionnés au hasard avec valeur et costume:Array.reduce sur un tableau multidimensionnel de tableau d'objets
[ [ { value: 5, suit: 's' },
{ value: 4, suit: 's' },
{ value: 6, suit: 'c' },
{ value: 11, suit: 'd' },
{ value: 12, suit: 'c' } ],
[ { value: 9, suit: 'd' },
{ value: 12, suit: 'h' },
{ value: 8, suit: 'c' },
{ value: 12, suit: 's' },
{ value: 2, suit: 's' } ],
[ { value: 4, suit: 'h' },
{ value: 6, suit: 's' },
{ value: 10, suit: 'c' },
{ value: 3, suit: 'd' },
{ value: 7, suit: 'd' } ] ]
Pour préparer les mains pour l'évaluation je veux utiliser Array.reduce pour retourner un tableau d'objets de la main. Ainsi, la sortie serait:
[
{
values: [5, 4, 6, 11, 12],
suits: ['s', 's', 'c', 'd', 'c']
},
{
values: [9, 12, 8, 12, 2],
suits: ['d', 'h', 'c', 's', 's']
},
{
values: [4, 6, 10, 3, 7],
suits: ['h', 's', 'c', 'd', 'd']
}
]
J'ai essayé cela avec la mise en œuvre de emboîtées de forEach, mais son échec et je ne sais pas pourquoi. J'ai deux console.log dans quelle sortie comme prévu, mais à la fin des mains est identique à l'entrée.
let temp = []
hands.forEach((el) => {
temp = el
el = {}
el.values = []
el.suits = []
console.log(el) //expected output
temp.forEach((obj) => {
el.values.push(obj.value)
el.suits.push(obj.suit)
console.log(el) //expected output
})
})
console.log(hands) //same as original
* "Je veux utiliser réduire" * ... alors où votre code tente-t-il de le faire? Ce n'est pas un service d'écriture de code. Ce site fonctionne en postant ** votre code ** qui ne fonctionne pas comme prévu et les gens vous aident à corriger cela – charlietfl
J'ai fait des tentatives de code, je ne pensais pas qu'ils seraient utiles à publier car il semblait que toute réponse valide serait une réécriture complète de ma mise en œuvre. La critique juste cependant, je le garderai dans l'esprit. –
Mais vous manquez également le point que vous apprenez de vos erreurs. * Donner un poisson à un homme, ou enseigner à un homme à pêcher * – charlietfl