Soy algo nuevo en javascript y quizas me estoy complicando mucho, he creado una función que me crea un json de un csv, es una tarea de mi universidad por lo que no pude usar librerías externas para crearlo, pero no puedo actualizar el json que sale de resultado, no se si es posible retornarlo o si me estoy equivocando en algo, espero que puedan ayudarme porque ya llevo algo atrasada esta asignación y no me permite avanzar por este problema.
let file = e.target.files[0];
let reader = new FileReader();
let nombre = file.name.split('.');
this.setState({operationInProgress: true, fileLoadProgress: 0, fileLoaded:true, fileName:file.name, tipo:nombre[1]},
()=>{});
reader.onload = function (e) {
let data = new Uint8Array(e.target.result);
let json = "";
if (file.name.endsWith('.csv')) {
let decoder = new TextDecoder();
let texto = decoder.decode(data);
let lines = texto.split('\n');
let lineaH = lines[0].split("\n");
let headers = lineaH[0].split(",")
json = "["
for (let index = 1; index < lines.length; index++) {
const element = lines[index];
json += "{";
let objeto = element.split(',');
for (let j = 0; j < objeto.length; j++) {
if (j < objeto.length-1) {
json += `"${headers[j].trim()}" : "${objeto[j].trim()}",`;
}else{
json += `"${headers[j].trim()}" : "${objeto[j].trim()}"`;
}
}
if (index < lines.length-1) {
json += "},";
}else{
json += "}";
}
}
//Este valor quiero retornar
json += "]";
}