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

349
Vistas
¿Cómo puedo obtener el último objeto en esta matriz JSON?

Estoy tratando de usar datos de jugadores de una API de estadísticas de fútbol, pero parece que no puedo obtener datos para la temporada actual (que se puede encontrar en el último objeto de la matriz). Por alguna razón, solo obtengo datos para el tercer índice (código a continuación).

 .then(data => { //BIO const bio = data['data'][0] const nameValue = bio['fullname'] const imageValue = bio['image_path'] const teamValue = bio['team']['data']['name'] const countryValue = bio['nationality'] const birthdateValue = bio['birthdate'] const heightValue = bio['height'] const positionValue = bio['position']['data']['name'] //STATS const stats = bio['stats']['data']['data'.length - 1] const appearancesValue = stats['appearences']

Aquí hay una imagen de los datos JSON a los que intento acceder. En este caso, debería obtener datos de [4] pero los obtengo de [3].

datos JSON Datos en el navegador

¡Soy bastante inexperto, así que siento que debo estar cometiendo un error tonto en alguna parte! Agradezco cualquier ayuda.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Construyendo sobre la respuesta de Henry Walker.
El uso del nuevo método JavaScript Array.at() le permite ingresar índices tanto positivos como negativos. Este código:

const dataLength = bio.stats.data.length;
const stats = bio.stats.data[dataLength - 1];

Simplemente se traduciría a:

const stats = bio.stats.data.at(-1);

Dándote el último elemento en la matriz.

about 4 years ago · Juan Pablo Isaza Denunciar

0

la 'data'.length en bio['stats']['data']['data'.length - 1] se evaluará como la length de la cadena "data" . por lo que siempre es 4.

Lo más probable es que quisiera la longitud de la matriz, por lo que debería ser

 bio['stats']['data'][bio['stats']['data'].length - 1]

O podría extraerlo de antemano en una variable, para mayor claridad.

 const dataLength = bio['stats']['data'].length; const stats = bio['stats']['data'][dataLength - 1];

Además, dado que está utilizando literales para las propiedades del objeto, no necesita usar la notación [] .

 const dataLength = bio.stats.data.length; const stats = bio.stats.data[dataLength - 1];

y también puede hacerlo con el resto del código, para evitar escribir todos los ['..']

about 4 years ago · Juan Pablo Isaza Denunciar

0

Como significa el objeto de datos, tiene 5 objetos, puede este objeto en particular en el tercer lugar como en una matriz, el primer valor se almacena en el índice 0. Intente usar este código para obtener el último objeto

 var lastObject = bio.stats.data[bio.stats.data.length-1].player_id
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