es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo solucionar el error “drivers is undefined”?

Esta función está configurada actualmente para obtener ambos feeds y almacenar los resultados en una variable global, luego llama a la función de comparación y recorre el feed del fin de semana para crear un array de objetos. Actualmente, sigo recibiendo un error que dice ‘drivers no está definido’ y me preguntaba si alguien puede ayudarme a solucionarlo.

var weekendFeed = {};
var driversFeed = {};
jQuery(document).ready(function() {
    jQuery.getJSON("https://cf.nascar.com/cacher/2021/1/5044/weekend-feed.json")
        .done(function(res){
            weekendFeed = res;
            jQuery.getJSON("https://www.nascar.com/json/drivers/")
                .done(function(res){
                    driversFeed = res;
                    compareFeeds();
                });
        });
    function compareFeeds(){
        //console.log(weekendFeed.weekend_race[0].results);
        //console.log(driversFeed);
        var weekendDrivers = [];
        for(driver in weekendFeed.weekend_race[0].results){
            drivers.push({"id" : weekendFeed.weekend_race[0].results[driver].driver_id});
            drivers.push({"name" : weekendFeed.weekend_race[0].results[driver].driver_fullname});
            drivers.push({"make" : weekendFeed.weekend_race[0].results[driver].car_make});
        }
        console.log(weekendDrivers);
    }
});
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error “drivers no está definido” sugiere que hay un problema con la variable “drivers” utilizada en la función “compareFeeds”. Tras el análisis, parece que “drivers” no está definido en ningún lugar del código proporcionado. En su lugar, se declara un array vacío llamado “weekendDrivers”, pero este array no se utiliza ni se modifica en ningún otro lugar del código.

    Para solucionar el error, el código dentro del bucle “for” debería ser modificado para agregar objetos a “weekendDrivers” en lugar de “drivers”. El código corregido se vería así:

    for (driver in weekendFeed.weekend_race[0].results) {
        weekendDrivers.push({
            "id": weekendFeed.weekend_race[0].results[driver].driver_id,
            "name": weekendFeed.weekend_race[0].results[driver].driver_fullname,
            "make": weekendFeed.weekend_race[0].results[driver].car_make
        });
    }
    console.log(weekendDrivers);
    

    Esto creará un array de objetos con la información adecuada del conductor y lo mostrará en la consola.

Comments are closed.