Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

105
Vistas
Recorriendo una matriz de objetos... ¿cómo puedo filtrar nombres duplicados y devolver jugadores en una nueva matriz?

Estoy tratando de iterar sobre una matriz de objetos, y en una nueva matriz, devolver solo los jugadores, sus nombres en el mismo orden y no enumerados más de una vez. Estaba pensando que podría hacer algo similar a esto o con un forEach bucle pero no estoy muy seguro de cómo abordar las múltiples ocurrencias

 const players = function(outcomes) { const arr = []; for (let i = 0; i < outcomes.length; i++) { if (outcomes.includes(winner, loser)) arr.push(arr[i]); } return arr; };

Entrada de ejemplo y salida esperada:

 const playerNames = [ { winner: 'Sam', loser: 'Bruce', loser_points: 10 }, { winner: 'Sam', loser: 'Hakim', loser_points: 9 }] Output I want: [Sam, Bruce, Hakim]
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

const playerNames = [ { winner: 'Sam', loser: 'Bruce', loser_points: 10 }, { winner: 'Sam', loser: 'Hakim', loser_points: 9 } ]; var getPlayers = function(games) { var players = {}; var game; for (var i=0; i<games.length; i++) { game = games[i]; players[game.winner] = 1; players[game.loser] = 1; } return Object.keys(players); } console.log(getPlayers(playerNames));
about 4 years ago · Juan Pablo Isaza Denunciar

0

Use Set para generar una lista única de datos.

 const playerNames = [{ winner: 'Sam', loser: 'Bruce', loser_points: 10 },{ winner: 'Sam', loser: 'Hakim', loser_points: 9 }]; const players = Array.from(new Set(playerNames.flatMap((node) => [node.winner, node.loser]))); console.log(players);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Hay varias formas de lograr esto (consulte otras soluciones publicadas). A continuación se muestra una versión modificada de su código. Se agregaron algunas correcciones menores en su condición if .

 const playerNames = [{ winner: 'Sam', loser: 'Bruce', loser_points: 10 }, { winner: 'Sam', loser: 'Hakim', loser_points: 9 }, { winner: 'Sam', loser: 'Paul', loser_points: 9 } ]; const players = function(outcomes) { const arr = []; for (let i = 0; i < outcomes.length; i++) { // check and push winner if (!arr.includes(outcomes[i].winner)) arr.push(outcomes[i].winner); // check and push loser if (!arr.includes(outcomes[i].loser)) arr.push(outcomes[i].loser); } return arr; }; console.log(players(playerNames));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda