Estoy revisando los documentos de lodash y otras preguntas de Stack Overflow; si bien hay varias formas nativas de JavaScript para realizar esta tarea , ¿hay alguna manera de convertir una cadena en un título usando funciones puramente lodash (o al menos funciones prototípicas existentes) para no tener que usar una expresión regular o definir una nueva función?
p.ej
This string ShouLD be ALL in title CASe
debe convertirse
This String Should Be All In Title Case
javascript
lodash
brandonscript
fuente
fuente

Respuestas:
Esto se puede hacer con una pequeña modificación de
startCase:Mostrar fragmento de código
fuente
_.startCase("aaa BBB ccc") === "Aaa BBB Ccc"startCase.:, eso es un problema.Para texto no generado por el usuario, esto maneja más casos que la respuesta aceptada
fuente
con lodash versión 4.
_.upperFirst(_.toLower(str))fuente
startCaseporque puede manejar más letras que az, por ejemplo å, ä y ö.fuente
upperFirstlugar decapitalize._.startCaseelimina la puntuación. El ejemplo_.startCase('first second etc...devuelve la cadenaFirst Second EtcstartCasetodo lo convierte en un blanco, por ejemplo,user_nameseráUser Name, y yo sólo queríaUser_namecomo latext-transform: capitalizepropiedad de CSSHay respuestas mixtas a esta pregunta. Algunos recomiendan su uso
_.upperFirstmientras que otros recomiendan_.startCase.Conoce la diferencia entre ellos.
i)
_.upperFirsttransformará la primera letra de su cadena, luego la cadena puede ser de una sola palabra o varias palabras, pero la única primera letra de su cadena se transforma a mayúsculas._.upperFirst('jon doe')salida:
Jon doeconsulte la documentación https://lodash.com/docs/4.17.10#upperFirst
ii)
_.startCasetransformará la primera letra de cada palabra dentro de su cadena._.startCase('jon doe')salida:
Jon Doehttps://lodash.com/docs/4.17.10#startCase
fuente
_.lower().Aquí hay una forma de usar ÚNICAMENTE métodos lodash y no métodos incorporados:
fuente
También puede dividir la función de mapa para hacer palabras separadas
fuente
A menos que me lo perdiera, lodash no tiene sus propios métodos de minúsculas / mayúsculas.
fuente
_.upperFirstsólo se aplica al primer carácter (sinónimo de_.capitalize()?)capitalizeyupperFirsthacer cosas diferentes.No tan conciso como la respuesta de @ 4castle, pero descriptiva y lodash-full, sin embargo ...
fuente
Aquí hay otra solución para mi caso de uso: "columna vertebral del diablo"
Simplemente:
El uso de startCase eliminaría el apóstrofo, así que tuve que solucionar esa limitación. Las otras soluciones parecían bastante complicadas. Me gusta esto porque es limpio y fácil de entender.
fuente
Esto se puede hacer solo con lodash
fuente
var words = ._wordsEl siguiente código funcionará perfectamente:
fuente
con lodash 4, puede usar _.capitalize ()
_.capitalize('JOHN')Devuelve 'John'Consulte https://lodash.com/docs/4.17.5#capitalize para obtener más detalles
fuente