Quiero contar las victorias y derrotas de una serie de partidos, pero por alguna razón no funciona. En teoría, debería funcionar, pero ambos emiten 0.
Aquí está mi código. Estoy usando manillares para que el {{ funcione!
const matches = [{ id: '9', primary_player: 'player1', secondary_player: 'player2', size: '5', result: '0' }] const losses = matches.filter(e => e.result == "0" && e.primary_player == "player1").length; const wins = matches.filter(e => e.result == "1" && e.primary_player == "player1").length; console.log(losses,wins)Parece que el problema son solo sus comillas dobles envueltas alrededor de la verificación del jugador primario: no son necesarias en la evaluación. Además, no estoy seguro de que su verificación de length al final sea útil de alguna manera. Sin embargo, corríjame si lo necesita allí (y tal vez explique qué está tratando de hacer con él).
De todos modos, esto debería funcionar (si su matches.result es realmente un valor booleano):
const losses = matches.filter(e => e.result === 0 && e.primary_player == user.nickname); Si matches.result es en realidad una cadena, que es el tipo de datos más probable, entonces puede descartar la verificación de igualdad estricta ( === ):
const losses = matches.filter(e => e.result == 0 && e.primary_player == user.nickname);