Estoy notando un comportamiento extraño de un objeto javascript en mi aplicación Node. El objeto de user se crea analizando un archivo csv con dos columnas: Email e ID . Por alguna razón, solo puedo acceder a uno de los campos usando los métodos típicos. El otro campo siempre devuelve indefinido. Estoy usando el Nodo 15.12.0.
Cuando registro el objeto de user , devuelve: { 'Email': 'email@example.com', ID: '12345' }
Curiosamente, el campo ID no tiene comillas cuando se registra, pero el campo Email sí tiene comillas.
Puedo acceder a user.ID como de costumbre, pero user.Email devuelve undefined .
console.log(Object.keys(user)); // [ 'Email', 'ID' ] console.log(user.ID); // 12345 console.log(user.Email); // undefined console.log(user['Email']) // undefined console.log(user["Email"]) // undefined console.log(user.email) // undefined console.log(user["\'Email\'"]) // undefined console.log(user["'Email'"]) // undefined console.log(user[Object.keys(user)[0]]) // email@example.com console.log(Object.values(user)[0]) // email@example.comHe intentado usar JSON.parse (JSON.stringify (usuario)), pero obtengo los mismos resultados que antes.
La única forma en que puedo acceder al campo Email es usando el user[Object.keys(user)[0]] u Object.values(user)[0] lo cual es muy extraño para mí.
Agradecería cualquier idea que tenga para averiguar qué está pasando aquí. ¿Hay algo que pueda hacer para examinar el objeto más de cerca? ¿Las comillas alrededor de las teclas indican algo?