Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

178
Views
No capturado (en promesa) TypeError: no se pueden leer las propiedades de undefined (leyendo '0'), cuando todos los objetos no están definidos

Trabajando en la visualización de datos con d3.js. Soy bastante novato en javascript, pero vengo aquí tratando de llegar a la raíz de mi problema.

Estoy tratando de trazar algunos datos basados en películas, en los que cada punto de datos es el tipo de datos de cadena. Por lo tanto, tengo que convertir las fechas al tipo de datos Fecha, y las Clasificaciones de películas al tipo de datos Número o Flotante para que d3 trace los datos correctamente, de lo contrario, hay un error.

Más o menos, los datos se almacenan en una matriz, que contiene otras 11 matrices, una para cada crítico de cine, en la que cada matriz de crítico de cine contiene 237 objetos para cada película vista ese año, en la que cada objeto se ve como

 { "key": "Derek", "Date": "2019-01-25T05:00:00.000Z", "value": 5, "Movie": "The Butterfly Effect", "Pickedby": "Dan" }

Donde clave es el crítico de cine y Pickedby es la persona que eligió la película.

Aquí está el código que estoy usando para convertir una fecha como 1/25/2019 en "2019-01-25T05:00:00.000Z" y estoy tratando de convertir el elemento de valor (de una cadena) en un número o flotante Número de punto. (Algunas calificaciones pueden ser como 3.5, 6.5, etc.)

 for (let j = 0; j < series.length; j++) { for (let i = 0; i <series[j].length; i++){ series[j][i].Date = new Date(series[j][i].Date) series[j][i].value = Number(series[i][j].value) } }

La línea de código de conversión de fecha funciona como se esperaba. Sin embargo, convertir el elemento de value en un número o flotante está provocando un error de tipo Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0') .

La cuestión es que todos los datos de elementos de valor a través de toda la matriz son una cadena. No hay un problema indefinido. Claro, algunos valores son (x) o algún otro carácter alfabético, pero eso debería convertirse al menos a NaN, y lo es para algunos.

¿Alguna idea sobre por qué podría estar surgiendo este error, dada la información que he proporcionado? Probablemente siempre pueda proporcionar más detalles.

¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Parece que se cometió un error tipográfico en el código, donde no está accediendo al valor correcto en el envío a Número.

En vez de:

 series[j][i].value = Number(series[i][j].value)

debería ser:

 series[j][i].value = Number(series[j][i].value)
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!