Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

350
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda