Actualmente estoy usando replace para insertar dos puntos después del segundo carácter de una cadena de cuatro caracteres (1000). Creo que es una solución elegante. Pero me pregunto si hay otras soluciones elegantes para esto. ¡Gracias por tus ideas!
código de trabajo
const myStr = "1000"; const string = myStr.replace(/(\d{2})(\d{2})/g, '$1:$2'); console.log(string);Todavía podría tomar una expresión regular que funcione para cualquier período de tiempo, como cuatro o seis dígitos con dos puntos para cada grupo de dos.
const format = s => s.replace(/.(?=(..)+$)/g, '$&:'); console.log(format('1000')); console.log(format('100000'));Mantenlo simple. Use funciones de cadena para manipular cadenas:
const s1 = "1000"; const s2 = s1.slice(0, 2) + ":" + s1.slice(2); console.log(s2);Definitivamente no es la mejor manera de hacerlo, solo me pregunto cuántas alternativas hay
[...'1000'].map((c, i) => i !== 0 && i % 2 === 0 ? `:${c}` : c).join('') //10:00 [...'100000'].map((c, i) => i !== 0 && i % 2 === 0 ? `:${c}` : c).join('') //10:00:00 [...'10000000'].map((c, i) => i !== 0 && i % 2 === 0 ? `:${c}` : c).join('') //10:00:00:00