Javascript Capitalizar La Primera Letra

| | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Hay muchos desafíos de código para principiantes que lo ayudarán a comenzar a pensar más como un ingeniero. Uno de esos desafíos es cuando escribe en mayúscula la primera letra de cada palabra en una cadena determinada. En este artículo, veremos el aviso y varias posibles soluciones en JavaScript.

Dada una función, mayúsculas, que incluye str como parámetro, devuelva ese str con cada palabra en mayúscula. Trate de pensar en casos pico en su solución (no como entrada, tipo de entrada incorrecto, etc.).

Enfoque

  1. Vuelva a mirar el aviso. Escriba o resalte cualquier palabra clave que pueda encontrar en la redacción.
  2. Combine el significado del problema verbal. Parte de la parte más difícil de hacer desafíos de código es tratar de descubrir qué es lo que el problema te pide que hagas. Comprender el problema le ayudará a recorrer un largo camino para resolverlo.
  3. una posible solución de pseudocódigo. No es necesario que sea el código real (no es necesario que sea ejecutable en su IDE o navegador de consola; el inglés simple está bien):

Resuelva el problema cuidadosamente paso a paso. Le ayudará a pensar en casos de sugerencias, casos en los que se puede pasar una entrada incorrecta o una cadena vacía, y cómo dividir el problema en pasos lógicos. Esta es básicamente su fase de experimentación: no hay respuestas incorrectas, solo ideas sobre cómo abordar el problema. Estos pensamientos pueden ser engañosos o equivocados: así es como aprende acerca de los enfoques ganados para resolver un problema

He descubierto que si puedo desglosarlo explicando en voz alta, la lógica es más fácil. Su millaje puede variar según su enfoque, ¡pero al menos quería sugerirle en caso de que funcione para usted! El apodo para un pequeño problema como este parece un poco exagerado, pero si practicas el concepto ahora, te resultará más fácil trabajar en problemas mucho más difíciles.

Las soluciones

Solución #1: split() y loop con los métodos String.replace() y charAt()

dejar = capitalizar (str) => {= detener dejar str.split (``); for (ya sea i = 0; i

En esta primera solución, dividimos la cadena en sus espacios. Esto nos da un arr cada palabra única como su índice. El bucle en la matriz nos da la posibilidad de acceder a los índices personales de cada cadena. Reasignamos la cadena (la cadena en este caso es arr [i]) al índice i como resultado de reemplazar la cadena en el índice 0 (arr [i] .charAt (0) con su valor en mayúsculas. Arr en una cadena con espacios entre cada una de las palabras

Solución #2: dividir con el método del mapa y cortar

En esta solución comenzamos de una manera muy similar, pero usamos un método de matriz ES6 llamado tarjeta de bucle a través de la red y el retorno de nuevos valores ‚Äã‚Äã que escriben con mayúscula el primer carácter de cada palabra. Lo hace estableciendo explícitamente lo que haremos con toUpperCase () para la primera letra, slice () para el resto de la cadena y las cadenas concatenar para obtener la nueva versión de la palabra. Luego fusionamos la matriz y la devolvemos

Solución n ¬∞ 3: expresiones regulares

permitir apalancamiento = (str) => {let regex = / (^ | s) S / g return str.replace (regex, letra => letra.toUpperCase ()); } Deja raíz = document.getElementById (`raíz`); root.innerHTML = JSON.stringify (mayúsculas (el zorro marrón rápido saltó sobre el perro perezoso ‚Äã‚Äã`));

En esta solución, usamos una expresión regular para encontrar todos los caracteres que no sean blancos (S) al comienzo de la cadena (^ ) o después de un carácter(es) de espacio. El indicador g al final significa global y nos permite encontrar todas las instancias de este modelo. Luego usamos el método replace para reemplazar ese patrón regex con una función que toma esa letra y la devuelve en mayúsculas.

pensamientos finales

Estas soluciones no son de ninguna manera las únicas soluciones para este problema .. Lo más probable es que, a medida que comience a hacer más de estos, encontrará soluciones que pueden o no ser diferentes de las presentadas por un artículo o blog. Ésto es una cosa buena. Significa que empiezas a pensar como un ingeniero, y ese es el punto.

Continuar. En estas soluciones, los casos pico no se abordan. ¿Qué debe hacer si su tema está vacío o es un número? Intente agregar al código anterior tratando estos casos límite

Consejo :. Use un punto / exclamación bang para encontrar condicionalmente si str existe. Consulte los documentos de MDN para averiguar si hay una manera de averiguar el tipo de algo cuando no necesariamente sabe qué es.

una cosa : intente revertir cadenas de desafío de javascript si aún no lo ha hecho

Otros recursos a considerar:

Uso de expresiones regulares en Ruby - Esto está dedicado a Ruby, pero la expresión regular a menudo es independiente del idioma - rápido ` Busque más información sobre la sintaxis RegExp en la Solución # 1. 3.

Texto de reemplazo de JavaScript: una guía paso a paso : un tutorial dedicado al método de reemplazo, utilizado en la solución n. 1.