JavaScript - lista desde javascript

 
Vista:
sin imagen de perfil
Val: 27
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

lista desde javascript

Publicado por gabriela paola (20 intervenciones) el 14/02/2020 04:08:08
Holaaa!!! buenas noches, necesito ayuda en el siguiente codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function crearLista(data) {
    var valor = '';
    for (var i = 0; i < data.length; i++) {
      var gamePlayers= data[i].gamesPlayers;
      for (var j = 0; j < gamePlayers.length; j++) {
        var players= datos[j].player;
        valor +=
 
          "<li>" + data[i].created + "," + players.email + "</li>"
      }
      $("#list").html(valor);
 
    }
}

data es un array con varios array de objetos (gamePlayers )donde cada uno tiene player y dentro de player esta el mail. En cada gamePlayer hay 2 player. necesito imprimir un li con solo los mail de esos dos player pero me imprimi un li por cada player. Espero me entiendan y me puedan ayudar! Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 40
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

lista desde javascript

Publicado por Julio (17 intervenciones) el 14/02/2020 08:43:12
Hola.

¿Necesitas mostrar un <li> con los mails de qué dos jugadores, o de qué jugador? ¿De alguno específico? Si no he mirado mal, ahí lo que estás haciendo es recorrerlos absolutamente todos y mostrarlos todos.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

lista desde javascript

Publicado por joel (895 intervenciones) el 14/02/2020 10:38:20
Hola Gabriela, tal como dice Julio, no se entiende muy bien tu duda...

Puedes mostrarnos el contenido de data y como quieres que sea el resultado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

lista desde javascript

Publicado por gabriela paola (20 intervenciones) el 14/02/2020 14:10:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
data = [ {
  "id" : 1,
  "created" : "2020-02-13T19:29:07.788258",
  "gamesPlayers" : [ {
    "id" : 1,
    "player" : {
      "id" : 1,
      "email" : "j.bauer@ctu.gov"
    },
    "score" : {
      "score" : 1.0,
      "finishDate" : "2020-02-13T19:29:08.038277"
    }
  }, {
    "id" : 2,
    "player" : {
      "id" : 2,
      "email" : "c.obrian@ctu.gov"
    },
    "score" : {
      "score" : 0.0,
      "finishDate" : "2020-02-13T19:29:08.053902"
    }
  } ]
}, {
  "id" : 2,
  "created" : "2020-02-13T20:29:07.803883",
  "gamesPlayers" : [ {
    "id" : 5,
    "player" : {
      "id" : 2,
      "email" : "c.obrian@ctu.gov"
    },
    "score" : {
      "score" : 0.5,
      "finishDate" : "2020-02-13T19:29:08.069529"
    }
  }, {
    "id" : 3,
    "player" : {
      "id" : 3,
      "email" : "kim_bauer@gmail.com"
    },
    "score" : {
      "score" : 0.5,
      "finishDate" : "2020-02-13T19:29:08.053902"
    }
  } ]

Esa es mi data, solo necesito hacer un <li> por cada data y que cada <li> tenga data. created y los mail de cada gamePlayer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

lista desde javascript

Publicado por Alejandro (532 intervenciones) el 14/02/2020 15:47:01
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<ul id="resultado"></ul>
<script>
	data = [ {
		"id" : 1,
		"created" : "2020-02-13T19:29:07.788258",
		"gamesPlayers" : [ {
			"id" : 1,
			"player" : {
				"id" : 1,
				"email" : "j.bauer@ctu.gov"
			},
			"score" : {
				"score" : 1.0,
				"finishDate" : "2020-02-13T19:29:08.038277"
			}
		}, {
			"id" : 2,
			"player" : {
				"id" : 2,
				"email" : "c.obrian@ctu.gov"
			},
			"score" : {
				"score" : 0.0,
				"finishDate" : "2020-02-13T19:29:08.053902"
			}
 
		} ]
	}, {
		"id" : 2,
		"created" : "2020-02-13T20:29:07.803883",
		"gamesPlayers" : [ {
			"id" : 5,
			"player" : {
				"id" : 2,
				"email" : "c.obrian@ctu.gov"
			},
			"score" : {
				"score" : 0.5,
				"finishDate" : "2020-02-13T19:29:08.069529"
			}
		}, {
			"id" : 3,
			"player" : {
				"id" : 3,
				"email" : "kim_bauer@gmail.com"
			},
			"score" : {
				"score" : 0.5,
				"finishDate" : "2020-02-13T19:29:08.053902"
			}
		} ]
	}]
	for(externo of data){
		aMails=[];
		for(interno of externo.gamesPlayers){
			aMails.push(interno.player.email);
		}
		resultado = '<li>'+externo.created+' - '+aMails.join(', ')+'</li>';
		resultado = document.getElementById('resultado').innerHTML+resultado;
		document.getElementById('resultado').innerHTML= resultado;
	}
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 91
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

lista desde javascript

Publicado por Alfredo (36 intervenciones) el 21/02/2020 15:41:45
Lo podrías simplificar un poco así:
1
2
3
4
5
6
let gameList = ``;
data.forEach(game => {
    const emails = game.gamesPlayers.map(gameData => gameData.player.email);
    gameList += `<li>${game.created} - ${emails.join(', ')}</li>`;
});
document.getElementById('resultado').innerHTML = gameList;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar