Estoy creando una matriz de objetos, necesito acceder a las propiedades en esta matriz de objetos y, sin embargo, cuando intento hacer esto, aparece un error de 'indefinido'. He buscado este problema, pero no puedo encontrar nada que haya hecho que impida que funcione.
Para comenzar, defino y vacío la matriz.
var gantt_data_array = [];Luego accedo a mis datos usando ajax desde un controlador. En caso de éxito, itero sobre los resultados y empujo el objeto requerido en la matriz.
var get_data = $.ajax({ url: "/Gantt/Read_Gantt", success: function (result) { $.each(result, function (d, v) { gantt_data_array.push({ "startDate": v.Commencement_Date, "endDate": v.End_Date, "taskName": v.Vessel_Name, "status": v.Firm_Status }); }) }, error: function (xhr, status, error) { console.log("error") } });Luego trato de acceder a una propiedad para usarla en otros lugares de la siguiente manera, que devuelve como indefinido:
console.log(gantt_data_array['startDate'])Revisé la matriz en busca de datos cerrando sesión en la propia matriz
console.log(gantt_data_array)Que muestra los datos en el formato esperado
[] 0: { startDate: ...something, endDate: ...something, taskName: ...something, status: ...something } 1: { startDate: ...something, endDate: ...something, taskName: ...something, status: ...something } Sin embargo, cuando registro la longitud de la matriz console.log(gantt_data_array.length) devuelve 0 . ¿Estoy presionando esto correctamente? ¿He cometido un simple error? No puedo ver qué podría estar causando este problema.