lunes, 9 de junio de 2014

Ejercicios de JavaScript (Methods)

En learnstreet hay ejercicios un poco más complicados que en codecademy y aquí les traduzco uno de ellos en los que me tardé un poco:


"Estás haciendo un sitio web y quieres que los nombres de todos se almacenen correctamente con mayúsculas y minúsculas. La gente utiliza todo tipo de letras (mayúsculas y minúsculas) cuando introduce su nombre y apellido, como "jOhn SMIth", "anne doe", y "david Shi", por ejemplo. Tú quieres almacenar los nombres de tal modo que la primera letra del nombre y la primera letra del apellido queden en letra mayúscula y el resto del nombre y apellido en letras minúsculas, como "Amy Sue". 


En el code editor, completa la función llamada capitalizeName que tome un string conteniendo el nombre completo de alguien, con el nombre y apellido separados por un espacio, como "bOb dyLan", y regrese el nombre correctamente escrito, como "Bob Dylan". Ya hemos empezado por pasar el nombre completo a minúsculas. Sería útil usar la función capitalizeFirst que ya habías codificada en el ejercicio anterior."

--------------------------------------

En el espacio de trabajo está lo siguiente:

  • function capitalizeFirst(str) {
  •     return str.charAt(0).toUpperCase() + str.substring(1, str.length);
  • }

  • function capitalizeName(name){
  •     //The string below contains a lower case version of name. Let's use this from now on.
  •     var lowerName = name.toLowerCase();

  •     var spaceIndex = lowerName.indexOf(' ');
  •     var first = lowerName.substring(0, spaceIndex);

  •     //Complete the function body below.
  •     
  • }

  • //This is just for you to see what happens when the function is called
  • console.log(capitalizeName("steve jobs"));


ASÍ DEBER QUEDAR:
  • function capitalizeFirst(str) {
  •     return str.charAt(0).toUpperCase() + str.substring(1, str.length);
  • }

  • function capitalizeName(name){
  •     //The string below contains a lower case version of name. Let's use this from now on.
  •     var lowerName = name.toLowerCase();

  •     var spaceIndex = lowerName.indexOf(' '); //para saber dónde va el espacio y que sea el límite
  •     var first = lowerName.substring(0, spaceIndex);//aquí tenemos el nombre
  •     var last = lowerName.substring(spaceIndex + 1, lowerName.length);//aquí el apellido

  •     //Complete the function body below.
  •     return first.charAt(0).toUpperCase() + first.substring(1, first.length) + " " + last.charAt(0).toUpperCase() + last.substring(1, last.length);
  • }

  • //This is just for you to see what happens when the function is called
  • console.log(capitalizeName("steve jobs"));
En pantalla queda:

Steve Jobs
=>
-------------------------------------------------
A veces no es tan fácil entender los ejercicios y la verdad le pensé un poco, pero me gusta mucho poder realizar lo que se me pide. Por cierto que la respuesta del sitio cuando acabas satisfactoriamente un ejercicio es de este tipo:

4: Capitalize Names

Summary

Yea, capitalization was the easy part. The tough part was to extract the first and last names by parsing for the space character, which you did brilliantly!

Bueno, espero que les haya gustado la entrada.

Buen código.

No hay comentarios:

Publicar un comentario