Estoy analizando una cadena en un flotante, y cuando imprimo el tipo de variable, obtengo el número. Sin embargo, si agrego la variable a una matriz y la imprimo desde allí, obtengo una cadena. Pero si luego indexo los clics[0], una vez más obtengo el número
let clicks = [] let latitude = parseFloat(stringCoords.substring(11, 28)) clicks.push(latitude) console.log(typeof(latitude)) -- prints number for (var object in clicks) { console.log(typeof(object)) -- prints string } console.log(typeof(clicks[0])) -- prints numberLo único que estoy agregando a la matriz de clics es la variable de latitud. Estoy confundido en cuanto a por qué está cambiando de tipo. Por favor hagamelo saber.
El for..in recorre las propiedades de un objeto que tiene el tipo string . Y for..of recorre los valores de un objeto iterable, que tiene el tipo de lo que sea que almacene en él (en su caso, un número).
let clicks = [] let latitude = parseFloat("10.33") clicks.push(latitude) console.log(typeof(latitude)) for (var object of clicks) { console.log(typeof(object)) } console.log(typeof(clicks[0]))como 'para(... en...)' está navegando a través de una matriz, 'objeto' en realidad produce el valor de índice de ese elemento, no el elemento de la matriz actual. Cuando navega con la estructura 'clicks.forEach(...)', accede a los elementos de la matriz. Por lo tanto, obtiene una "cadena", por lo que la operación que realiza con "typeof (...)" no está en los mismos elementos. Uno de ellos da el índice del arreglo y el otro da el elemento del arreglo.