En el código, lat y lng se inicializan como tipos de números, pero ¿por qué se convierte en una cadena cuando se coloca en un objeto? Quiero que los valores de las coordenadas sean números. ¿Que puedo hacer?
ej.) latitud: "35,87" -> latitud: 35,87
let lat_tmp = 0; let lng_tmp = 0; const lat_lng = []; let lat_tmp = 0; let lng_tmp = 0; let arr_tmp = [ { lat: 0, lng: 0, }, ]; let idx = 0; function successFunction(data) { var allRows = data.split(/\r?\n|\r/); for (var singleRow = 1; singleRow < allRows.length; singleRow++) { var rowCells = allRows[singleRow].split(','); for (var rowCell = 0; rowCell < rowCells.length; rowCell++) { if (rowCell === 3) { lat_tmp = rowCells[rowCell]; } else if (rowCell === 4) { lng_tmp = rowCells[rowCell]; } } arr_tmp = [{ lat: lat_tmp, lng: lng_tmp }]; lat_lng[idx] = arr_tmp; idx += 1; } console.log(lat_lng); }Está dividiendo una cadena, por lo que cada elemento del resultado también será una cadena. Puede usar el operador unario más o parseFloat para convertirlos en números.
var rowCells = allRows[singleRow].split(','); for (var rowCell = 0; rowCell < rowCells.length; rowCell++) { if (rowCell === 3) { lat_tmp = +rowCells[rowCell]; } else if (rowCell === 4) { lng_tmp = +rowCells[rowCell]; } }