Tengo una función que recibe 3 entradas del usuario: año, mes y día.
El usuario solo puede configurar el mes si se ha configurado el año. El día también se puede configurar solo si se configura el mes.
Al final, el objeto se ve así:
updatedFields.push({ id: book.id, readIn: `${year}-${month}-${day}`, });El problema es que el usuario no está obligado a informar nada. Entonces, si solo informa el año y el mes o solo el año, tendré algo como:
"2020--" // if he only enters the year "2021-10-" // if he enters the year and month "2022-03-13" // if it enters year, month and day La pregunta es: ¿cómo elimino el exceso - guiones?
Construya una matriz a partir de los valores posibles, filtre los que no existen y luego únalos por el separador.
readIn: [year, month, day].filter(Boolean).join('-')Puede usar una expresión regular para eliminar los caracteres finales.
updatedFields.push({ id: book.id, readIn: `${year}-${month}-${day}`.replace(/-+$/, '') });