Aquí está mi código:
let num = 0.0134; console.log(num.toString().split('').splice(3).splice(1, 0, '.'))El console.log devuelve una matriz vacía.
Quiero que devuelva '1.34'. ¿Qué estoy haciendo mal?
Si ve la referencia de Array.prototype.splice en mdn :
El método splice() cambia el contenido de una matriz eliminando o reemplazando elementos existentes y/o agregando nuevos elementos en su lugar
Valor de retorno: una matriz que contiene los elementos eliminados.
Al final de su código, cuando hace .splice(1, 0, '.') , elimina 0 elementos , por lo que devolverá una matriz vacía.
Supongo que desea obtener la matriz anterior con el '.' elemento insertado en la primera posición. Para eso querrás hacer:
const arr = num.toString().split('').splice(3); arr.splice(1, 0, '.'); console.log(arr) Y si desea unirlo a una cadena, simplemente use arr.join('')
De todos modos, para su caso de uso, podría usar el operador de multiplicación * en lugar de convertirlo en una matriz de cadenas e intentar manipularlo.
Simplemente puede hacer:
let num = 0.0134; console.log(num * 100);