Por ejemplo, obtengo la cadena '20201101'
Lo que hago es convertir la cadena a '2020.11.01'
Aquí esta lo que hice.
const dateString = '20201101' const dateArr = dateString.split('') dateArr.splice(4, 0, '.') dateArr.splice(7, 0, '.') const dateFormat = dateArr.join('')Creo que es un poco largo, así que estoy buscando otra respuesta para esto.
¡Gracias!
También puede usar RegExp con patrones de reemplazo en una llamada String#replace() .
const dateStr = '20201101'; const result = dateStr.replace(/(\d{4})(\d{2})(\d{2})/, '$1.$2.$3'); console.log(result)Podrías usar literales de plantilla .
`${dateString.slice(0, 4)}.${dateString.slice(4, 6)}.${dateString.slice(6, 8)}`No es una forma muy limpia de hacerlo, pero es solo una línea.
Tu código está bien y es legible. Pero si está buscando una alternativa, tal vez mire las expresiones regulares .
const str = '20201101'; // Group four digits, then two digits, // and then two digits const re = /(\d{4})(\d{2})(\d{2})/; // `match` returns an array of groups, the first element of // which will be the initial string, so first remove that, // and then `join` up the remaining elements using // a `.` delimiter const out = str.match(re).slice(1).join('.'); console.log(out);Documentación adicional