freeCodeCamp/guide/spanish/certifications/javascript-algorithms-and-d.../intermediate-algorithm-scri.../make-a-person/index.md

6.5 KiB

title localeTitle
Make a Person Hacer una persona

:triangular_flag_on_post: Recuerda usar Read-Search-Ask si te atascas. Tratar de emparejar el programa :busts_in_silhouette: y escribe tu propio código :pencil:

:checkered_flag: Explicación del problema:

Cuando comencé el programa, pensé que solo tenía que crear las seis funciones mencionadas en los detalles. Sin embargo, no era tan simple. Crearlos como una función no era la forma correcta, tuve que crearlos de una manera diferente para convertirlos en una clave.

También hay una parte complicada, ya que necesitas seis claves ni más ni menos, así que al principio tuve la variable que almacenaba el nombre original como una clave, lo cual estaba equivocado.

En cuanto al uso de la matriz, que es opcional, también podría crear una nueva variable para mantener la cadena separada si lo desea, pero es más fácil tratar con una matriz ya que las cadenas son inmutables.

Lea atentamente las instrucciones, siempre es una buena sugerencia en sí misma para ejecutar el código y verificar cuáles fueron los resultados de la prueba para que sepa qué esperar pero no se centre en eso. Una vez que entienda lo que necesita hacer, este problema es muy fácil y directo.

Enlaces relevantes

:speech_balloon: Sugerencia: 1

Use esta notación para crear las claves en lugar de las funciones regulares: Esto significa que en lugar de var varName = function() {/*...*/} debe usar this.varName = function() {/*...*/}

intenta resolver el problema ahora

:speech_balloon: Sugerencia: 2

El programa tiene una prueba que verifica la cantidad de claves que usaste, tienen que ser exactamente seis, las seis mencionadas en la sección de detalles. Esto significa que si necesita trabajar con variables, this.fullName = firstAndLast; locales y no en una clave: this.fullName = firstAndLast;

intenta resolver el problema ahora

:speech_balloon: Sugerencia: 3

A menudo, el código no funcionará de la manera que esperas debido a nombres de variables incorrectos, asegúrate de verificar que los deletreas de la manera correcta. Esto nos sucede a todos en algún momento.

intenta resolver el problema ahora

:speech_balloon: Sugerencia: 4

Si está teniendo problemas con la escritura de los setter métodos, a continuación es una plantilla para un set método:

this.setFullName = function(input) { 
  // Insert your code here 
 } 

intenta resolver el problema ahora

¡Alerta de spoiler!

señal de advertencia

¡Solución por delante!

:beginner: Solución de código básico:

var Person = function(firstAndLast) { 
  var fullName = firstAndLast; 
 
  this.getFirstName = function() { 
    return fullName.split(" ")[0]; 
  }; 
 
  this.getLastName = function() { 
    return fullName.split(" ")[1]; 
  }; 
 
  this.getFullName = function() { 
    return fullName; 
  }; 
 
  this.setFirstName = function(name) { 
    fullName = name + " " + fullName.split(" ")[1]; 
  }; 
 
  this.setLastName = function(name) { 
    fullName = fullName.split(" ")[0] + " " + name; 
  }; 
 
  this.setFullName = function(name) { 
    fullName = name; 
  }; 
 }; 
 
 var bob = new Person('Bob Ross'); 
 bob.getFullName(); 

:rocket: Ejecutar código

Explicación del código:

  • Cree una variable que haga una copia del nombre completo que se pasó como parámetro.
  • Luego podemos proceder a crear los seis métodos necesarios y devolver lo que se solicita.
  • Para los definidores individuales, podemos usar la división para convertir el nombre completo en una matriz de nombres y apellidos y concatenar la parte no modificada del nombre con lo que se pasó como parámetro.

Enlaces relevantes

:clipboard: NOTAS PARA LAS CONTRIBUCIONES:

  • :warning: NO agregue soluciones que sean similares a las soluciones existentes. Si cree que es similar pero mejor , intente fusionar (o reemplazar) la solución similar existente.
  • Agregue una explicación de su solución.
  • Categorice la solución en una de las siguientes categorías: Básica , Intermedia y Avanzada . :traffic_light:
  • Agregue su nombre de usuario solo si ha agregado algún contenido principal relevante . ( :warning: NO elimine ningún nombre de usuario existente )

Ver :point_right: Wiki Challenge Solution Template para referencia.