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

177
Visualizações
JavaScript: ¿Cómo puedo insertar un objeto en una matriz de objetos?

Tengo este script que toma datos de un JSON con casi 100 datos, luego usa estos datos para traer el clima de una API y luego inserta estos datos en un objeto (usando un for para crear mis 100 objetos), me gustaría para agregar los objetos que tienen una temperature > 99 en una matriz y los que tienen una temperature < 99 en otra, lo intenté de esta manera pero no parece funcionar, lo siento si es un error súper tonto que no puedo ver , ¡Gracias por tu ayuda!

Este es mi guion:

 async function calcWeather(){ const info = await fetch('../json/data.json') .then(function(response) { return response.json() }); for (var i in info) { const _idOficina = info[i][0].IdOficina const _nombreOficina = info[i][0].NombreOficinaSN const _zona = info[i][0].Zona const _estado = info[i][0].NombreEstado const lat = info[i][0].latjson const long = info[i][0].lonjson const base = `https://api.openweathermap.org/data/2.5/weather?lat=${lat}&lon=${long}&appid=${api_key}&units=metric&lang=sp` fetch(base) .then((responses) => { return responses.json() }) .then((data) => { // console.log(data) var myObject = { Id_Oficina: _idOficina, Latitud: data.coord.lat, Longitud: data.coord.lon, Ciudad: data.name, Estado: _estado, Zona: _zona, Nombre_Oficina: _nombreOficina, Temperatura: data.main.temp, Descripcion: data.weather[0].description }; // validation if (myObject.Temperatura < 99){ var lstValid = []; function pushValid(){ lstValid.push(myObject[i]); } pushValid(); console.log(pushValid()) } }); } };
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Su matriz es local, por lo que para cada objeto crea una nueva matriz lstValid sin datos anteriores. La solución es crear la matriz antes de obtener los datos o antes del bucle:

 async function calcWeather(){ var lstValid = []; // HERE const info = await fetch('../json/data.json') .then(function(response) { return response.json() }); var lstValid = []; // OR HERE (ONLY ONE OF THEM) for (...) { ... }
about 4 years ago · Juan Pablo Isaza Relatório

0

Probablemente le convenga más crear la matriz fuera de esa llamada, ya que la borra en cada ejecución. Luego simplemente agregue su objeto. Al igual que el comentario de Trincot, no estoy seguro de qué es exactamente lo que está indexando.

 async function calcWeather(){ var lstValid = []; .... if (myObject.Temperatura < 99){ lstValid[someindex] = myObject; } else{ lstNotValid[someOtherIndex] = myObject; } }
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