From 9767546767101c4ca18c1ca1583b11f16e28ae5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladimir=20T=C3=A1mara=20Pati=C3=B1o?= Date: Tue, 8 Mar 2016 05:04:37 -0500 Subject: [PATCH] Finishing reviewing of spanish translation by @jorgeruvalcaba. Thanks for corrections to @justinian336 --- .../basic-javascript.json | 266 +++++++++--------- 1 file changed, 133 insertions(+), 133 deletions(-) diff --git a/seed/challenges/01-front-end-development-certification/basic-javascript.json b/seed/challenges/01-front-end-development-certification/basic-javascript.json index 4b8c3f0d22..70f983a04a 100644 --- a/seed/challenges/01-front-end-development-certification/basic-javascript.json +++ b/seed/challenges/01-front-end-development-certification/basic-javascript.json @@ -296,7 +296,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Suma dos números con javascript", + "nameEs": "Suma dos números con JavaScript", "descriptionEs": [ "Intentemos sumar dos números con JavaScript.", "JavaScript utiliza el símbolo + para la adición.", @@ -334,7 +334,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Resta un número de otro con javascript", + "nameEs": "Resta un número de otro con JavaScript", "descriptionEs": [ "También podemos restar un número de otro.", "JavaScript utiliza el símbolo - de sustracción", @@ -371,7 +371,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Multiplica dos números con javascript", + "nameEs": "Multiplica dos números con JavaScript", "descriptionEs": [ "También podemos multiplicar un número por otro.", "JavaScript utiliza el símbolo * de la multiplicación.", @@ -408,7 +408,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Divide un número por otro con javascript", + "nameEs": "Divide un número por otro con JavaScript", "descriptionEs": [ "También podemos dividir un número por otro.", "JavaScript utiliza el símbolo / para dividir.", @@ -448,7 +448,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Incrementa un número con javascript", + "nameEs": "Incrementa un número con JavaScript", "descriptionEs": [ "Tu puedes fácilmente incrementar o agregar uno a una variable con el operador ++.", "i++", @@ -492,7 +492,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Decrementar un número con javascript", + "nameEs": "Decrementar un número con JavaScript", "descriptionEs": [ "Fácilmente puedes decrementar o disminuir una variable por uno con el operador --.", "i--;", @@ -531,7 +531,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Crea números decimales con javascript", + "nameEs": "Crea números decimales con JavaScript", "descriptionEs": [ "Podemos almacenar números decimales en variables también. Los números decimales a veces son referidos como números de punto flotante o flotantes.", "Nota
No todos los números reales pueden ser exactamente representados en punto flotante. Esto puede conducir a errores de redondeo. Detalles aquí.", @@ -565,7 +565,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Multiplicar dos decimales con javascript", + "nameEs": "Multiplicar dos decimales con JavaScript", "descriptionEs": [ "En JavaScript, también puedes realizar cálculos con números decimales, al igual que con números enteros.", "Vamos a multiplicar dos números decimales para obtener su producto.", @@ -598,7 +598,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Divide un número decimal por otro con javascript", + "nameEs": "Divide un número decimal por otro con JavaScript", "descriptionEs": [ "Ahora vamos a dividir un decimal por otro.", "

Instrucciones

", @@ -637,7 +637,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Encontrar un cociente en javascript", + "nameEs": "Encontrar un cociente en JavaScript", "descriptionEs": [ "El operador residuo % da el residuo de la división de dos números.", "Ejemplo", @@ -971,11 +971,11 @@ "challengeType": 1, "nameEs": "Escapar comillas en cadenas de texto", "descriptionEs": [ - "Cuando estas definiendo una cadena debes iniciar y terminar con apostrofes o comillas. ¿Qué pasa cuando necesitas una comilla: \" o ' dentro de tu cadena?", + "Cuando estás definiendo una cadena debes iniciar y terminar con apóstrofes o comillas. ¿Qué pasa cuando necesitas una comilla: \" o ' dentro de tu cadena?", "En JavaScript, tu puedes escapar unas comillas para diferenciarlas de las comillas del final de la cadena colocando una barra invertida (\\) antes de la cita.", - "var cadenaEjem = \"Alan dijo, \\\"Pedro esta aprendiendo JavaScript\\\".\";", + "var cadenaEjem = \"Alan dijo, \\\"Pedro está aprendiendo JavaScript\\\".\";", "Esto le indica a JavaScript que la comilla siguiente no es el fin de la cadena, sino que debe aparecer dentro de la cadena. Así que si fueras a imprimir esto en la consola, tu obtendrías:", - "Alan dijo, \"Pedro esta aprendiendo JavaScript\".", + "Alan dijo, \"Pedro está aprendiendo JavaScript\".", "

Instructiones

", "Usa barras invertidaspara asigar una cadena a la variable myStr de modo que si tu fueras a imprimirla en la consola, tu verías:", "I am a \"double quoted\" string inside \"double quotes\"" @@ -1013,12 +1013,12 @@ "challengeType": 1, "nameEs": "Citando cadenas con comillas simples", "descriptionEs": [ - "Los valores de Cadenas en JavaScript pueden ser escritos con comillas o apostrofes, siempre y cuando inicien y terminen con el mismo tipo de cita. A diferencia de algunos lenguajes, apostrofes y comillas son funcionalmente identicas en Javascript.", + "Los valores de Cadenas en JavaScript pueden ser escritos con comillas o apóstrofes, siempre y cuando inicien y terminen con el mismo tipo de cita. A diferencia de algunos lenguajes, apóstrofes y comillas son funcionalmente identicas en Javascript.", "\"Esta cadena tiene \\\"comillas\\\" en esta\"", - "La ventaja de usar una o la otra tiene que ver con la necesidad de escapar comillas. Si tu tienes una cadena con algunas comillas, esta puede ser difícil de leer y escribir. En su lugar, usa apostrofes:", + "La ventaja de usar una o la otra tiene que ver con la necesidad de escapar comillas. Si tu tienes una cadena con algunas comillas, esta puede ser difícil de leer y escribir. En su lugar, usa apóstrofes:", "'Esta cadena tiene \"comillas\" en esta. Y \"probablemente\" muchas de ellas.'", "

Instrucciones

", - "Cambia la cadena dada de comillas a apostrofes y quita el escape." + "Cambia la cadena dada de comillas a apóstrofes y quita el escape." ] }, { @@ -1611,7 +1611,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Almacena múltiples valores en una variable utilizando vectores en javascript", + "nameEs": "Almacena múltiples valores en una variable utilizando vectores en JavaScript", "descriptionEs": [ "Con las variables tipo vector (o en inglés array) podemos almacenar diversos datos en un solo lugar.", "Empiezas la declaración de un vector con un corchete de apertura, y terminas con un corchete de cierre, y pones una coma entre cada entrada, así: var sandwich = [\"mantequilla de maní\", \"jalea\" , \"pan\"]. ", @@ -2082,7 +2082,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Escribe código javascript reutilizable con funciones", + "nameEs": "Escribe código JavaScript reutilizable con funciones", "descriptionEs": [ "En JavaScript, podemos dividir nuestro código en partes reutilizables llamadas funciones.", "He aquí un ejemplo de una función:", @@ -2320,7 +2320,7 @@ "nameEs": "Alcance local y funciones", "descriptionEs": [ "Las variables que son declaradas dentro de una función, así como los parámetros de la función tienen alcance local. Eso significa que solo son visibles dentro de esa función.", - "Aquí esta una función myTest con una variable local llamada loc.", + "Aquí está una función myTest con una variable local llamada loc.", "
function myTest() {
var loc = \"foo\";
console.log(loc);
}
myTest(); // \"foo\"
console.log(loc); // \"undefined\"
", "loc no está definida fuera de la función.", "

Instrucciones

", @@ -2412,12 +2412,12 @@ "challengeType": 1, "nameEs": "Retorna un valor desde una función con return", "descriptionEs": [ - "Nosotros podemos pasar valores dentro de una función con argumentos. Tu puedes usar una sentencia return para enviar un valor de vuelta de una función.", + "Podemos pasar valores a una función mediante los argumentos. Puedes usar una sentencia return para enviar un valor de vuelta de una función.", "Ejemplo", - "
function plusThree(num) {
return num + 3;
}
var answer = plusThree(5); // 8
", - "plusThree toma un argumento para num y retorna un valor igual a num + 3.", + "
function masTres(num) {
return num + 3;
}
var respuesta = masTres(5); // 8
", + "masTres toma un argumento que es num y retorna un valor igual a num + 3.", "

Instrucciones

", - "Crea una función timesFive que acepte un argumento, lo multiplica por 5 y retorna el nuevo valor." + "Crea una función timesFive que acepte un argumento, lo multiplique por 5 y retorne el nuevo valor." ] }, { @@ -2468,11 +2468,11 @@ "nameEs": "Asignación con un valor retornado", "descriptionEs": [ "Si recuerdas de nuestra discusión de Almacenar Valores con el Operador Igual, todo a la derecha del signo igual es resuelto antes que el valor sea asignado. Esto significa que nosotros podemos tomar el valor de retorno de una función y asignarlo a una variable.", - "Supongamos que tenemos una función pre-definida sum la cual agrega dos números, entonces: ", - "ourSum = sum(5, 12);", - "llamará la función sum, la cual retornará un valor de 17 y lo asignará a la variable ourSum.", + "Supongamos que tenemos una función pre-definida suma la cual suma dos números, entonces: ", + "nuestraSuma = suma(5, 12);", + "llamará la función suma, la cual retornará un valor de 17 y lo asignará a la variable nuestraSuma.", "

Instrucciones

", - "Llama la función process con un argumento de 7 y asigna su valor de retorno a la variable processed." + "Llama la función process con un argumento 7 y asigna su valor de retorno a la variable processed." ] }, { @@ -2688,7 +2688,7 @@ "El operador más básico es el operador de igualdad ==. El operador de igualdad compara dos valores y retorna true si son equivalentes o false si no lo son. Nota que la igualdad es diferente de la asignación (=), la cual asigna el valor a la derecha del operador a la variable en la izquierda.", "
function pruebaIgualdad(miVal) {
if (miVal == 10) {
return \"Igual\";
}
return \"No Es Igual\";
}
", "Si miVal es igual a 10, el operador de igualdad retornará true(verdadero), así el código entre llaves será ejecutado y la función retornará \"Equal\". De otra manera, la función retornará \"Not Equal\".", - "Para que javascript pueda comparar dos tipos de datos diferentes (por ejemplo, números y cadenas de texto), debe convertir un tipo a otro. Una vez que lo hace, sin embargo, puede comparar términos de la siguiente manera:", + "Para que JavaScript pueda comparar dos tipos de datos diferentes (por ejemplo, números y cadenas de texto), debe convertir un tipo a otro. Una vez que lo hace, sin embargo, puede comparar términos de la siguiente manera:", "
1 == 1 // true
1 == 2 // false
1 == '1' // true
\"3\" == 3 // true
", "

Instrucciones

", "Agrega el operador de igualdad a la línea indicada de manera que la función retornará \"Equal\" cuando val sea equivalente a 12" @@ -2932,7 +2932,7 @@ "nameEs": "La comparación con el operador mayor o ogual", "descriptionEs": [ "El operador mayor o igual (>=) compara los valores de dos números. Si el número de la izquierda es mayor o igual a el número de la derecha, este retorna true(verdadero). De otra manera, este retorna false(falso).", - "Como el operador de igualdad, el operador mayor o igual convertirá tipos de datos mientras esta comparando.", + "Como el operador de igualdad, el operador mayor o igual convertirá tipos de datos mientras está comparando.", "Ejemplos", "
6 >= 6 // true
7 >= '3' // true
2 >= 3 // false
'7' >= 9 // false
", "

Instrucciones

", @@ -3093,7 +3093,7 @@ "A veces necesitarás probar más de una cosa a la vez. El operador lógico y (&&) retorna true(verdadero) si y solo si los operandos a la izquierda y derecha de este son verdaderos.", "El mismo efecto podría lograrse anidando una sentencia if dentro de otro if:", "
if (num > 5) {
if (num < 10) {
return \"Yes\";
}
}
return \"No\";
", - "solo retornará \"Yes\" si num esta entre 6 y 9 (6 y 9 incluidos). La misma lógica puede ser escrita como:", + "solo retornará \"Yes\" si num está entre 6 y 9 (6 y 9 incluidos). La misma lógica puede ser escrita como:", "
if (num > 5 && num < 10) {
return \"Yes\";
}
return \"No\";
", "

Instrucciones

", "Combina las dos sentencias if dentro de una sentencia la cual retornará \"Yes\" si val es menor o igual a 50 y mayor o igual a 25. De otra manera, retornará \"No\"." @@ -3153,10 +3153,10 @@ "El operador lógico o (||) retorna true(verdadero) si cualquiera de los operandos es true(verdadero). De otra manera, este retorna false(falso).", "El patrón de abajo debería ser familiar de los puntos de referencia anteriores:", "
if (num > 10) {
return \"No\";
}
if (num < 5) {
return \"No\";
}
return \"Yes\";
", - "retornará \"Yes\" solo si num esta entre 5 y 10 (5 y 10 incluidos). La misma lógica puede ser escrita como:", + "retornará \"Yes\" solo si num está entre 5 y 10 (5 y 10 incluidos). La misma lógica puede ser escrita como:", "
if (num > 10 || num < 5) {
return \"No\";
}
return \"Yes\";
", "

Instrucciones

", - "Combina las dos sentencias if dentro de una sentencia la cual retorne \"Outside\" si val no esta entre 10 y 20, inclusive. De otra manera, retorna \"Inside\"." + "Combina las dos sentencias if dentro de una sentencia la cual retorne \"Outside\" si val no está entre 10 y 20, inclusive. De otra manera, retorna \"Inside\"." ] }, { @@ -3304,14 +3304,14 @@ "nameEs": "Orden lógico en sentencias else if", "descriptionEs": [ "El orden es importante en las sentencia if y else if.", - "El ciclo es ejecutado de arriba a abajo por lo que tendrás que ser cuidadoso de cual sentencia va primero.", + "El ciclo es ejecutado de arriba hacia abajo por lo que tendrás que ser cuidadoso de cual sentencia va primero.", "Toma estas dos funciones como ejemplo.", "Aquí está la primera:", - "
function foo(x) {
if (x < 1) {
return \"Less than one\";
} else if (x < 2) {
return \"Less than two\";
} else {
return \"Greater than or equal to two\";
}
}
", + "
function foo(x) {
if (x < 1) {
return \"Menor que uno\";
} else if (x < 2) {
return \"Menor que dos\";
} else {
return \"Mayor o igual a dos\";
}
}
", "Y el segundo solo cambia el orden de las sentencias:", - "
function bar(x) {
if (x < 2) {
return \"Less than two\";
} else if (x < 1) {
return \"Less than one\";
} else {
return \"Greater than or equal to two\";
}
}
", - "Mientras esas dos funciones parecen casi idénticas, si nosotros pasamos un número a ambas nosotros obtendremos diferentes salidas.", - "
foo(0) // \"Less than one\"
bar(0) // \"Less than two\"
", + "
function bar(x) {
if (x < 2) {
return \"Menor que dos\";
} else if (x < 1) {
return \"Menor que uno\";
} else {
return \"Mayor o igual a dos\";
}
}
", + "Mientras esas dos funciones parecen casi idénticas, si nosotros pasamos un número a ambas obtendremos diferentes salidas.", + "
foo(0) // \"Menor que uno\"
bar(0) // \"Menor que dos\"
", "

Instrucciones

", "Cambia el orden de la lógica en la función de manera que esta retorne las sentencias correctas en todos los casos." ] @@ -3361,11 +3361,11 @@ "challengeType": 1, "nameEs": "Encadenamiento de sentencias else if", "descriptionEs": [ - "Las sentencias if/else(si/además) pueden ser encadenadas juntas por una lógica compleja. Aquí esta el pseudocódigo de múltiples sentencias if / else if encadenadas:", - "
if (condition1) {
statement1
} else if (condition2) {
statement2
} else if (condition3) {
statement3
. . .
} else {
statementN
}
", + "Las sentencias if/else(si/de lo contrario) pueden ser encadenadas juntas por una lógica compleja. Aquí está el pseudocódigo de múltiples sentencias if / else if encadenadas:", + "
if (condicion1) {
sentencias1
} else if (condicion2) {
sentencias2
} else if (condicion3) {
sentencias3
. . .
} else {
sentenciasN
}
", "

Instrucciones

", "Escribe sentencias if/else if encadenadas para cumplir las siguientes condiciones:", - "num < 5 - returna \"Tiny\"
num < 10 - returna \"Small\"
num < 15 - returna \"Medium\"
num < 20 - returna \"Large\"
num >= 20 - returna \"Huge\"" + "num < 5 - retorna \"Tiny\"
num < 10 - retorna \"Small\"
num < 15 - retorna \"Medium\"
num < 20 - retorna \"Large\"
num >= 20 - retorna \"Huge\"" ] }, { @@ -3410,10 +3410,10 @@ "challengeType": 1, "nameEs": "Código de golf", "descriptionEs": [ - "En el juego de golf cada hoyo tiene un par promedio para el número de golpes necesarios para meter la pelota. Dependiendo de que tan lejos sobre o bajo par están tus golpes, hay un nickname diferente.", - "Tu función pasará un par y golpes. Retorna cadenas acuerdo a esta tabla (basada en el orden de prioridad - arriba (lo más alto) a abajo (lo más bajo)):", + "En el juego de golf cada hoyo tiene un par promedio para el número de golpes necesarios para meter la pelota. Dependiendo de que tan lejos por encima o por debajo del par estén tus golpes, habrá un sobrenombre diferente.", + "Tu función pasará un par y el número de golpes, y retornará una cadena de acuerdo a esta tabla (basada en el orden de prioridad - arriba (lo más alto) hacia abajo (lo más bajo)):", "
GolpesRetorna
1\"Hole-in-one!\"
<= par - 2\"Eagle\"
par - 1\"Birdie\"
par\"Par\"
par + 1\"Bogey\"
par + 2\"Double Bogey\"
>= par + 3\"Go Home!\"
", - "par y golpes siempre serán numéricos y positivos." + "Tanto par como golpes siempre serán numéricos y positivos." ] }, { @@ -3456,14 +3456,14 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Seleccionar desde diferentes opciones con sentencias de cambio", + "nameEs": "Seleccionar desde diferentes opciones con la sentencia switch", "descriptionEs": [ - "Si tienes varias opciones para elegir, usa una sentencia switch. Una sentencia switch prueba un valor y puede tener varias sentencias case las cuales definen varios posibles valores. Las sentencias son ejecutadas desde el primer valor case igualado hasta que un break sea encontrado.", + "Si tienes varias opciones para elegir, usa una sentencia switch. Una sentencia switch prueba un valor y puede tener varias sentencias case las cuales definen varios posibles valores. Las sentencias son ejecutadas desde el primer valor case igualado hasta que se encuentr un break.", "Aquí hay un pseudocódigo de ejemplo:", "
switch (num) {
case valor1:
sentencia1;
break;
case valor2:
sentencia2;
break;
...
case valorN:
sentenciaN;
break;
}
", - "Los valores case son probados con estricta igualdad (===). El break le dice a JavaScript que pare la ejecución de sentencias. Si el break es omitido, la siguiente sentencia será ejecutada.", + "Los valores case son probados con estricta igualdad (===). El break le dice a JavaScript que pare la ejecución del bloque de sentencias en el que está. Si se omite break, se ejecutará la siguiente sentencia.", "

Instrucciones

", - "Escribe una sentencia switch la cual pruebe val y establezca answer para las siguientes condiciones:
1 - \"alpha\"
2 - \"beta\"
3 - \"gamma\"
4 - \"delta\"" + "Escribe una sentencia switch que pruebe val y establezca answer para las siguientes condiciones:
1 - \"alpha\"
2 - \"beta\"
3 - \"gamma\"
4 - \"delta\"" ] }, { @@ -3506,7 +3506,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Agregar una opción por default en sentencias case", + "nameEs": "Agregar una opción por omisión (default) en una sentencia switch", "descriptionEs": [ "En una sentencia switch puede que no seas capaz de especificar todos los posibles valores en las sentencias case. En su lugar, puedes agregar la sentencia default la cual será ejecutada si no es encontrada ninguna coincidencia con alguna sentencia case. Piensa en esto como la última sentencia else en una cadena if/else.", "Una sentencia default debería ser el último caso.", @@ -3560,13 +3560,13 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Multiples opciones idénticas en sentencias de cambio", + "nameEs": "Múltiples opciones idénticas en una sentencias switch", "descriptionEs": [ "Si la sentencia break es omitida de una sentencia case de un switch, las siguientes sentencias case son ejecutadas hasta que sea encontrado un break. Si tienes multiples entradas con la misma salida, puede representarlas en una sentencia switch así:", "
switch(val) {
case 1:
case 2:
case 3:
result = \"1, 2, or 3\";
break;
case 4:
result = \"4 alone\";
}
", "Los casos 1, 2, y 3 producirán el mismo resultado.", "

Instrucciones

", - "Escribe una sentencia switch para establecer answer para los siguientes rangos:
1-3 - \"Low\"
4-6 - \"Mid\"
7-9 - \"High\"", + "Escribe una sentencia switch para establecer answer para los siguientes rangos:
1-3 - \"Low\"
4-6 - \"Mid\"
7-9 - \"High\"", "Nota
Necesitarás tener una sentencia case por cada número en el rango." ] }, @@ -3627,9 +3627,9 @@ "nameEs": "Reemplazar cadenas if else con switch", "descriptionEs": [ "Si tienes varias opciones para elegir, una sentencia switch puede ser más fácil de escribir que varias sentencias if/if else anidadas. Lo siguiente:", - "
if (val === 1) {
answer = \"a\";
} else if (val === 2) {
answer = \"b\";
} else {
answer = \"c\";
}
", + "
if (val === 1) {
respuesta = \"a\";
} else if (val === 2) {
respuesta = \"b\";
} else {
respuesta = \"c\";
}
", "puede ser reemplazado con:", - "
switch (val) {
case 1:
answer = \"a\";
break;
case 2:
answer = \"b\";
break;
default:
answer = \"c\";
}
", + "
switch (val) {
case 1:
respuesta = \"a\";
break;
case 2:
respuesta = \"b\";
break;
default:
respuesta = \"c\";
}
", "

Instrucciones

", "Cambia las sentencias if/if else anidadas dentro de una sentencia switch." ] @@ -3675,11 +3675,11 @@ "challengeType": 1, "nameEs": "Retornar valores booleanos desde funciones", "descriptionEs": [ - "Tal vez recuerdes de La Comparación con el Operador de Igualdad que todos los operadores de comparación retornan un valor booleano true(verdadero) or false(falso).", - "Un anti-patrón común es usar una sentencia if/else para hacer una comparación y entonces returnar true/false:", - "
function isEqual(a,b) {
if (a === b) {
return true;
} else {
return false;
}
}
", - "Ya que === returna true(verdadero) o false(falso), podemos simplemente retornar el resultado de la comparación:", - "
function isEqual(a,b) {
return a === b;
}
", + "Tal vez recuerdes de La comparación con el operador de igualdad que todos los operadores de comparación retornan un valor booleano true (verdadero) o false (falso).", + "Un anti-patrón común es usar una sentencia if/else para hacer una comparación y entonces retornar true o false:", + "
function sonIguales(a,b) {
if (a === b) {
return true;
} else {
return false;
}
}
", + "Ya que === returna true (verdadero) o false (falso), podemos simplemente retornar el resultado de la comparación:", + "
function sonIguales(a,b) {
return a === b;
}
", "

Instrucciones

", "Arregla la función isLess para remover las sentencias if/else." ] @@ -3728,14 +3728,14 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Retornar un patron temprano para funciones", + "nameEs": "Retornar un patrón temprano para funciones", "descriptionEs": [ - "Cuando una sentencia return es alcanzada, la ejecución de la presente función para y control la retorna a la ubicación de la llamada.", + "Cuando se alcanza una sentencia return, la ejecución de la presente función se detiene y el control la retorna a la ubicación de la llamada.", "Ejemplo", - "
function myFun() {
console.log(\"Hello\");
return \"World\";
console.log(\"byebye\")
}
myFun();
", - "La entrada a la consola de arriba \"Hello\", retorna \"World\", pero \"byebye\" nunca se emite, porque la función existe en la sentencia return.", + "
function miFuncion() {
console.log(\"Hola\");
return \"Mundo\";
console.log(\"chaochao\")
}
miFuncion();
", + "Esta presenta en consola \"Hola\", retorna \"Mundo\", pero \"chaochao\" nunca se presenta, porque la función sale con la sentencia return.", "

Instrucciones

", - "Modifica la función abTest de manera que si a o b son menor que 0 la función saldrá inmediatamente con un valor de undefined.", + "Modifica la función abTest de manera que si a o b son menores que 0 la función saldrá inmediatamente con un valor undefined.", "Pista
Recuerda que undefined es una palabra clave, no una cadena." ] }, @@ -3782,9 +3782,9 @@ "nameEs": "Contar cartas", "descriptionEs": [ "En el juego de casino Blackjack, un jugador puede conseguir ventaja sobre la casa manteniendo un registro del número relativo de cartas altas y bajas restantes en la baraja. Esto es llamado Conteo de Cartas.", - "Teniendo más cartas altas restantes en la baraja favorece al jugador. A cada carta es asignado un valor acuerdo a la tabla de abajo. Cuando el conteo es positivo, el jugador debe apostar alto. Cuando el conteo es cero o negativo, el jugador debe apostar bajo.", + "Tener más cartas altas restantes en la baraja favorece al jugador. A cada carta se le asigna un valor de acuerdo a la tabla de abajo. Cuando el conteo es positivo, el jugador debe apostar alto. Cuando el conteo es cero o negativo, el jugador debe apostar bajo.", "
ValorCartas
+12, 3, 4, 5, 6
07, 8, 9
-110, 'J', 'Q', 'K','A'
", - "Vas a escribir una función de conteo de cartas. Esta recibirá un parametro carta e incrementa o decrementa la variable count(conteo) global de acuerdo al valor de la carta (ver tabla). La función retornará entonces una cadena con el presente conteo y la cadena \"Bet\" si el conteo es positivo o \"Hold\" si el conteo es cero o negativo. El presente conteo y la desición del jugador (\"Bet\" o \"Hold\") debe ser separada por un espacio único.

", + "Vas a escribir una función de conteo de cartas. Esta recibirá un parametro card (carta) e incrementa o decrementa la variable count (conteo) global de acuerdo al valor de la carta (ver tabla). La función retornará entonces una cadena con el presente conteo y la cadena \"Bet\" si el conteo es positivo o \"Hold\" si el conteo es cero o negativo. El presente conteo y la desición del jugador (\"Bet\" o \"Hold\") deben quedar separada por un único espacio.", "Ejemplo de Salida
\"-3 Hold\"
\"5 Bet\"
" ] }, @@ -3834,7 +3834,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Construye objetos en javascript", + "nameEs": "Construye objetos en JavaScript", "descriptionEs": [ "Es posible que haya oído el término objeto antes.", "Los objetos son similares a los vectores, excepto que en lugar de utilizar los índices para acceder y modificar sus datos, pueden accederse mediante lo que se llama propiedades.", @@ -3890,12 +3890,12 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Accesar a propiedades de objetos con el operador punto", + "nameEs": "Acceder a propiedades de objetos con el operador punto", "descriptionEs": [ - "Hay dos maneras de acceder a las propiedades de un objeto: con el operador punto (.) y la notación corchete ([]), similar a un vector.", - "El operador punto es lo que usar cuando tu sabes el nombre de una propiedad que estas intentando acceder antes de tiempo.", - "Aquí esta un ejemplo del uso del operador punto (.) para leer una propiedad de objeto:", - "
var myObj = {
prop1: \"val1\",
prop2: \"val2\"
};
var prop1val = myObj.prop1; // val1
var prop2val = myObj.prop2; // val2
", + "Hay dos maneras de acceder a las propiedades de un objeto: con el operador punto (.) y con la notación corchete ([]), similar al caso de un vector.", + "El operador punto es el que usas cuando de antemano sabes el nombre de la propiedad que estás intentando acceder.", + "Aquí está un ejemplo del uso del operador punto (.) para leer una propiedad de un objeto:", + "
var miObj = {
prop1: \"val1\",
prop2: \"val2\"
};
var prop1val = miObj.prop1; // val1
var prop2val = miObj.prop2; // val2
", "

Instrucciones

", "Lee los valores de propiedades de testObj usando notación punto. Asigna la variable hatValue igual a la propiedad objeto hat y asigna la variable shirtValue igual a la propiedad objeto shirt." ] @@ -3942,10 +3942,10 @@ "challengeType": 1, "nameEs": "Acceder a las propiedades de objetos con la notación corchete", "descriptionEs": [ - "La segunda manera de acceder a las propiedades de un objeto es con la notación corchete ([]). Si la propiedad del objeto que estas intentando acceder tiene un espacio en el, necesitarás usar la notación corchete.", - "Aquí esta un ejemplo del uso de la notación corchete para leer una propiedad de un objeto:", - "
var myObj = {
\"Space Name\": \"Kirk\",
\"More Space\": \"Spock\"
};
myObj[\"Space Name\"]; // Kirk
myObj['More Space']; // Spock
", - "Nota que los nombres de propiedades con espacios en ellos tiene que estar entre comillas (apostrofes o comillas).", + "La segunda manera de acceder a las propiedades de un objeto es con la notación corchete ([]). Si el nombre de la propiedad del objeto que estás intentando acceder tiene un espacio, necesitarás usar la notación corchete.", + "Aquí está un ejemplo del uso de la notación corchete para leer una propiedad de un objeto:", + "
var miObj = {
\"Nombre con espacio\": \"Kirk\",
\"Mas espacio\": \"Spock\"
};
miObj[\"Nombre con espacio\"]; // Kirk
miObj['Mas espacio']; // Spock
", + "Nota que los nombres de propiedades con espacios tienen que estar entre comillas (apóstrofes o comillas).", "

Instrucciones

", "Lee los valores de las propiedades \"an entree\" y \"the drink\" de testObj usando la notación corchete." ] @@ -3993,14 +3993,14 @@ "challengeType": 1, "nameEs": "Acceder a propiedades de objetos con variables", "descriptionEs": [ - "Otro uso de la notación corchete sobre objetos es usar una variable para acceder a una propiedad. Esto puede ser muy útil para la iteración a través de las listas de propiedades de los objetos o para hacer operaciones de búsqueda.", - "Aquí esta un ejemplo del uso de una variable para acceder a una propiedad:", - "
var someProp = \"propName\";
var myObj = {
propName: \"Some Value\"
}
myObj[someProp]; // \"Some Value\"
", + "Otro uso de la notación corchete sobre objetos es usar una variable para acceder a una propiedad. Esto puede ser muy útil en iteraciones sobre la lista de propiedades de un objetos o para hacer operaciones de búsqueda.", + "Aquí está un ejemplo del uso de una variable para acceder a una propiedad:", + "
var algunaProp = \"propNombre\";
var miObj = {
propNombre: \"Algún valor\"
}
miObj[algunaProp]; // \"Algún valor\"
", "Aquí hay uno más:", - "
var myDog = \"Hunter\";
var dogs = {
Fido: \"Mutt\",\n Hunter: \"Doberman\",\n Snoopie: \"Beagle\"
}
var breed = dogs[myDog]; // \"Hunter\"
console.log(breed)// \"Doberman\"
", - "Nota que no usamos comillas alrededor del nombre de la variable cuando se usa esta para acceder a la propiedad porque nosotros estamos usando el valor de la variable, no el nombre", + "
var miPerro = \"Cazador\";
var perros = {
Fido: \"Mutt\",\n Cazador: \"Doberman\",\n Snoopie: \"Beagle\"
}
var raza = perros[miPerro]; // \"Cazador\"
console.log(raza)// \"Doberman\"
", + "Nota que no usamos comillas alrededor del nombre de la variable (miPerro) cuando la usamos para acceder a la propiedad (perros[miPerro] porque estamos usando el valor de la variable y no su nombre", "

Instrucciones

", - "Usa la variable playerNumber para buscar player 16 en testObj usando notación corchete." + "Usa la variable playerNumber para buscar y asignar a player el jugador 16 de testObj, usa la notación corchete." ] }, { @@ -4052,7 +4052,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Actualiza las propiedades de un objeto en javascript", + "nameEs": "Actualiza las propiedades de un objeto en JavaScript", "descriptionEs": [ "Después de que hayas creado un objeto de JavaScript, puedes actualizar sus propiedades en cualquier momento, tal y como harías con cualquier otra variable.", "Por ejemplo, echemos un vistazo a ourDog:", @@ -4116,7 +4116,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Añade nuevas propiedades a un objeto javascript", + "nameEs": "Añade nuevas propiedades a un objeto JavaScript", "descriptionEs": [ "Puedes añadir nuevas propiedades a objetos existente de la misma forma que usarías para modificarlos.", "Así es como añadimos una propiedad \"bark\" (ladra) a nuestro objeto ourDog:", @@ -4172,7 +4172,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Elimina propiedades de un objeto javascript", + "nameEs": "Elimina propiedades de un objeto JavaScript", "descriptionEs": [ "También podemos eliminar propiedades de los objetos de esta manera:", "delete ourDog.bark;", @@ -4241,9 +4241,9 @@ "challengeType": 1, "nameEs": "Usar objetos para búsquedas", "descriptionEs": [ - "Los objetos pueden ser considerados como un almacenamiento de clave/valor, como un diccionario. Si tienes datos tabulados, tu puedes usar un objeto para \"buscar\" valores en lugar de una sentencia switch o una cadena if/else. Esto es más útil cuando sabes que tus datos de entrada son limitados a un cierto rango.", - "Aquí esta un ejemplo de una simple búsqueda inversa de alfabeto:", - "
var alpha = {
1:\"Z\",
2:\"Y\",
3:\"X\",
4:\"W\",
...
24:\"C\",
25:\"B\",
26:\"A\"
};
alpha[2]; // \"Y\"
alpha[24]; // \"C\"

var value = 2;
alpha[value]; // \"Y\"
", + "Los objetos pueden ser considerados como un almacenamiento llave/valor, como un diccionario. Si tienes datos tabulados, puedes almacenarlos en un objeto para después \"buscar\" valores, en lugar de emplear una sentencia switch o una secuencia de if/else. Esto es más útil cuando sabes que tus datos de entrada son limitados a un cierto rango.", + "Aquí está un ejemplo de una simple búsqueda inversa de alfabeto:", + "
var alfa = {
1:\"Z\",
2:\"Y\",
3:\"X\",
4:\"W\",
...
24:\"C\",
25:\"B\",
26:\"A\"
};
alfa[2]; // \"Y\"
alfa[24]; // \"C\"

var valor = 2;
alfa[valor]; // \"Y\"
", "

Instrucciones

", "Convierte la sentencia switch en una tabla de búsqueda llamada lookup. Usala para buscar val y asigna la cadena asociada a la variable result." ] @@ -4289,13 +4289,13 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Probar objetos para propiedades", + "nameEs": "Probar si un objeto tiene cierta propiedad", "descriptionEs": [ - "A veces es útil revisar si la propiedad de un objeto dado existe o no. Podemos usar el método de objetos .hasOwnProperty(propname) para determinar si ese objeto tiene el nombre de propiedad dado. .hasOwnProperty() retorna true o false si la propiedad es encontrada o no.", + "A veces es útil revisar si cierta propiedad existe o no en un objeto dado. Podemos usar el método de objetos .hasOwnProperty(nomprop) para determinar si un objeto tiene la propiedad nomprop. .hasOwnProperty() retorna true o false si la propiedad es encontrada o no.", "Ejemplo", - "
var myObj = {
top: \"hat\",
bottom: \"pants\"
};
myObj.hasOwnProperty(\"top\"); // true
myObj.hasOwnProperty(\"middle\"); // false
", + "
var miObj = {
arriba: \"sombrero\",
abajo: \"pantalones\"
};
miObj.hasOwnProperty(\"arriba\"); // true
miObj.hasOwnProperty(\"medio\"); // false
", "

Instrucciones

", - "Modifica la función checkObj para probar myObj para checkProp. Si la propiedad es encontrada, retorna ese valor de propiedad. Si no, retorna \"Not Found\"." + "Modifica la función checkObj que prueba si myObj tiene la propiedad checkProp. Si la propiedad es encontrada, retorna el valor de esa propiedad. Si no, retorna \"Not Found\"." ] }, { @@ -4346,15 +4346,15 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Introducción a la notación objeto de javascript (JSON)", + "nameEs": "Introducción a la notación de objetos de JavaScript (JSON - JavaScript Object Notation)", "descriptionEs": [ - "Notación de Objetos de JavaScript o JSON usa el formato de Objetos de JavaScript para almacenar datos. JSON es flexible porque permite Estructuras de Datos con combinaciones arbitrarias de cadenas, números, booleanos, vectores y objectos.", - "Aquí esta un ejemplo de un objeto JSON:", - "
var ourMusic = [
{
\"artist\": \"Daft Punk\",
\"title\": \"Homework\",
\"release_year\": 1997,
\"formats\": [
\"CD\",
\"Cassette\",
\"LP\" ],
\"gold\": true
}
];
", - "Este es un vector de objetos y el objeto tiene varias piezas de metadata acerca de un album. Este además tiene un vector formats anidado. Registros de albums adicionales podrán añadirse al nivel superior de la matriz.", - "Nota
Necesitarás una coma entre objetos en Objetos JSON con mas de un objeto en el vector.", + "La notación de objetos de JavaScript o JSON usa el formato de objetos de JavaScript para almacenar datos. JSON es flexible porque permite Estructuras de Datos con combinaciones arbitrarias de cadenas, números, booleanos, vectores y objetos.", + "Aquí está un ejemplo de un objeto JSON:", + "
var nuestraMusica = [
{
\"artista\": \"Daft Punk\",
\"titulo\": \"Homework\",
\"año_publicacion\": 1997,
\"formatos\": [
\"CD\",
\"Cassette\",
\"LP\" ],
\"oro\": true
}
];
", + "Este es un vector de objetos con diversos metadatos acerca de un álbum musical. Además tiene anidado un vector formatos. En el vector de nivel superior, pueden añadirse otros registros del álbum.", + "Nota
En objetos JSON que tengan más de un objeto en el vector, necesitarás separar un objeto de otro mediante comas.", "

Instrucciones

", - "Agrega un nuevo album al objeto JSON myMusic. Agrega las cadenas artist y title, el número release_year y un vector de cadenas formats." + "Agrega un nuevo álbum al objeto JSON myMusic. Agrega las cadenas artist y title, el número release_year y un vector de cadenas formats." ] }, { @@ -4406,11 +4406,11 @@ "challengeType": 1, "nameEs": "Acceder a objetos anidados en JSON", "descriptionEs": [ - "Las propiedades y sub-propiedades de los objetos JSON pueden ser accesadas por el encadenamiento de la notación punto o corchete.", - "Aquí esta un objeto JSON anidado:", - "
var ourStorage = {
\"desk\": {
\"drawer\": \"stapler\"
},
\"cabinet\": {
\"top drawer\": {
\"folder1\": \"a file\",
\"folder2\": \"secrets\"
},
\"bottom drawer\": \"soda\"
}
}
ourStorage.cabinet[\"top drawer\"].folder2; // \"secrets\"
ourStorage.desk.drawer; // \"stapler\"
", + "Las propiedades y sub-propiedades de los objetos JSON pueden ser accesadas mediante encadenamiento de la notación punto o corchete.", + "Aquí está un objeto JSON anidado:", + "
var nuestroAlmacen = {
\"escritorio\": {
\"cajon\": \"grapadora\"
},
\"armario\": {
\"cajón superior\": {
\"legajador1\": \"un archivo\",
\"legajador2\": \"secretos\"
},
\"cajón inferior\": \"gaseosa\"
}
}
nuestroAlmacen.armario[\"cajón superior\"].legajador2; // \"secretos\"
nuestroAlmacen.escritorio.cajon; // \"grapadora\"
", "

Instrucciones

", - "Accesa al objeto JSON myStorage para recuperar el contenido de glove box. Usa notación corchete para las propiedades con un espacio en su nombre." + "Accede al objeto JSON myStorage para recuperar el contenido de glove box. Usa notación corchete para las propiedades con un espacio en su nombre." ] }, { @@ -4467,13 +4467,13 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Accesar a vectores anidados en JSON", + "nameEs": "Acceder a vectores anidados en JSON", "descriptionEs": [ - "Como hemos visto en ejemplos anteriores, los objetos JSON pueden contener objetos anidados y vectores anidados. Similar a acceder a objetos anidados, notación corchete en vectores puede ser encadenada para acceder a vectores anidados.", - "Aquí esta un ejemplo de como acceder a un vector anidado:", - "
var ourPets = {
\"cats\": [
\"Meowzer\",
\"Fluffy\",
\"Kit-Cat\"
],
\"dogs\": [
\"Spot\",
\"Bowser\",
\"Frankie\"
]
};
ourPets.cats[1]; // \"Fluffy\"
ourPets.dogs[0]; // \"Spot\"
", + "Como hemos visto en ejemplos anteriores, los objetos JSON pueden contener objetos anidados y vectores anidados. De forma similar a acceder a objetos anidados, la notación corchete en vectores puede ser encadenada para acceder a vectores anidados.", + "Aquí está un ejemplo de como acceder a un vector anidado:", + "
var nuestrasMascotas = {
\"gatos\": [
\"Maullador\",
\"Blandito\",
\"Kit-Cat\"
],
\"perros\": [
\"Mancha\",
\"Bowser\",
\"Frankie\"
]
};
nuestrasMascotas.cats[1]; // \"Blandito\"
nuestrasMascotas.dogs[0]; // \"Mancha\"
", "

Instrucciones

", - "Recupera el segundo arbol de la variable myPlants usando notación objeto punto y notación vector corchete." + "Recupera el segundo arbol de la variable myPlants usando notación punto para objetos y notación corchete para vectores." ] }, { @@ -4547,13 +4547,13 @@ "challengeType": 1, "nameEs": "Colección de registros", "descriptionEs": [ - "Se te da un objeto JSON que representa (una pequeña parte de) tu colección de grabaciones. Cada album es identificado por un número id único y tiene varias propiedades. No todos los albums tienen una la información completa.", - "Escribe una función la cual toma un id, una propiedad (prop) y un value.", - "Para el id dado, en collection:", - "Si value no esta en blanco (value !== \"\") y prop no es \"tracks\" entonces actualiza o establece el value para el prop.", - "Si la prop es \"tracks\" y value no esta en blanco, empuja el value hasta el final del vector tracks.", - "Si value esta en blanco, elimina esa prop.", - "Siempre retorna el objeto collection enterio.", + "Se te da un objeto JSON que representa (una pequeña parte de) tu colección de grabaciones. Cada álbum es identificado por un número id único y tiene varias propiedades. No todos los álbumes tienen la información completa.", + "Escribe una función que reciba un id, una propiedad (prop) y un valor (value).", + "Para el id dado, en la colección collection:", + "Si el valor value no está en blanco (value !== \"\") y prop no es \"tracks\" entonces actualiza o establece el valor de la propiedad prop.", + "Si la propiedad prop es \"tracks\" y value no está en blanco, empuja (push) el valor value al final del vector tracks.", + "Si el valor value está en blanco, elimina esa prop.", + "Siempre retorna el objeto collection entero.", "Nota
No olvides usar notación corchete cuando accedes a propiedades de objetos con variables." ] }, @@ -4601,7 +4601,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Iterar con javascript en ciclos", + "nameEs": "Iterar en JavaScript con ciclos for", "descriptionEs": [ "Puede ejecutar el mismo código varias veces mediante el uso de un ciclo.", "El tipo más común de bucle de JavaScript se llama \"ciclo for\"porque se ejecuta \"por\" (for) un número específico de veces.", @@ -4770,11 +4770,11 @@ "challengeType": 1, "nameEs": "Iterar a través de un vector con un ciclo for", "descriptionEs": [ - "Una tarea común en Javascript es iterar a traves del contenido de un vector. Una manera de hacer esto es con un ciclo for. Este código imprimirá cada elemento del vector arr en la consola:", + "Una tarea común en JavaScript es iterar a traves del contenido de un vector. Una manera de hacerlo es con un ciclo for. Este código imprimirá cada elemento del vector arr en la consola:", "
var arr = [10,9,8,7,6];
for (var i=0; i < arr.length; i++) {
console.log(arr[i]);
}
", - "Recuerda que los Vectores tienen numeración de base cero, la cual significa que el último índice del vector es de longitud - 1. Nuestra condición para este ciclo es i < arr.length, la cual para cuando i esta en longitud - 1.", + "Recuerda que los vectores tienen numeración que comienza en cero, la cual significa que el último índice del vector es su longitud - 1. Nuestra condición para este ciclo es i < arr.length, que lo detendrá cuando i sea la longitud - 1.", "

Instrucciones

", - "Declara e inicializa una variable total a 0. Usa un ciclo for para añadir el valor de cada elemento del vector myArr a total." + "Declara e inicializa una variable total en 0. Usa un ciclo for para añadir el valor de cada elemento del vector myArr a total." ] }, { @@ -4816,9 +4816,9 @@ "challengeType": 1, "nameEs": "Anidar ciclos for", "descriptionEs": [ - "Si tu tienes una matriz multi-dimensional, puedes usar la misma lógica que el punto de referencia anterior para iterar a través de un vector y cualquier sub-vector. Aquí esta un ejemplo:", + "Si tienes una matriz multi-dimensional, puedes usar la misma lógica del punto anterior para iterar a través de un vector y cualquier sub-vector. Aquí está un ejemplo:", "
var arr = [
[1,2], [3,4], [5,6]
];
for (var i=0; i < arr.length; i++) {
for (var j=0; j < arr[i].length; j++) {
console.log(arr[i][j]);
}
}
", - "Esto imprime cada sub-elemento en arr uno a la vez. Nota que para el ciclo interior, estamos comprobando la longitud .length de arr[i], ya que arr[i] es por si mismo un vector.", + "Esto imprime cada sub-elemento en arr uno a la vez. Nota que en el ciclo interior, estamos comprobando la longitud .length de arr[i], ya que arr[i] es por si mismo un vector.", "

Instrucciones

", "Modifica la función multiplyAll de manera que esta multiplique la variable product por cada número en los sub-vectores de arr" ] @@ -4854,7 +4854,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Iterar con javascript con ciclos while", + "nameEs": "Iterar con JavaScript con ciclos while", "descriptionEs": [ "Puede ejecutar el mismo código varias veces mediante el uso de un ciclo.", "Otro tipo de ciclo de JavaScript se llama un ciclo \"while\", ya que se ejecuta, \"mientras que\" algo sea cierto y se detiene una vez que ya no sea así.", @@ -4935,10 +4935,10 @@ "challengeType": 1, "nameEs": "Búsqueda de perfiles", "descriptionEs": [ - "Tenemos un vector de objetos representando diferentes personas en nuestras listas de contactos.", - "Una función lookUp que toma firstName y una propiedad (prop) como argumentos ha sido pre-escrita para ti.", - "La función debe comprobar si firstName es un firstName(primerNombre) de contacto actual y la propiedad dada (prop) es una propiedad de ese contacto.", - "Si ambos son true(verdaderos), entonces retorna el \"value\" de esa propiedad.", + "Tenemos un vector de objetos que representan diferentes personas en nuestra lista de contactos.", + "Una función lookUp que recibe el nombre (firstName) y una propiedad (prop) como argumentos ya ha sido escrita previamente para ti.", + "La función debe comprobar si firstName es un nombre (firstName) de algún contacto y si la propiedad dada (prop) es una propiedad de ese contacto.", + "Si ambos son verdaderos, entonces retorna el valor (value) de esa propiedad.", "Si firstName no corresponde a ningun contacto entonces retorna \"No such contact\"", "Si prop no corresponde a ninguna propiedad válida entonces retorna \"No such property\"", "" @@ -4977,7 +4977,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Generar fracciones al azar con javascript", + "nameEs": "Generar fracciones al azar con JavaScript", "descriptionEs": [ "Los números aleatorios son útiles para crear un comportamiento aleatorio.", "JavaScript tiene una función Math.random() que genera un número decimal aleatorio.", @@ -5023,7 +5023,7 @@ ], "type": "waypoint", "challengeType": 1, - "nameEs": "Genera números aleatorios enteros con javascript", + "nameEs": "Genera números aleatorios enteros con JavaScript", "descriptionEs": [ "Es muy bueno que podamos generar números decimales al azar, pero es aún más útil si lo utilizamos para generar números enteros aleatorios.", "En primer lugar, vamos a usar Math.random() para generar un decimal aleatorio.", @@ -5360,7 +5360,7 @@ "
", "
", "
", - " \"learn", + " \"learn", "

FCC Slot Machine

", "
", "
", @@ -5534,7 +5534,7 @@ "
", "
", "
", - " \"learn", + " \"learn", "

FCC Slot Machine

", "
", "
", @@ -5643,7 +5643,7 @@ "type": "waypoint", "challengeType": 0, "isBeta": true, - "nameEs": "Añade casillas a tu tragamonedas javascript", + "nameEs": "Añade casillas a tu tragamonedas JavaScript", "descriptionEs": [ "Ahora que cada una de nuestras casillas genera números aleatorios, tenemos que comprobar si todos quedan con el mismo número.", "Si es así, debemos notificar a nuestros usuarios que han ganado y debemos retornar null.", @@ -5712,7 +5712,7 @@ "
", "
", "
", - " \"learn", + " \"learn", "

FCC Slot Machine

", "
", "
", @@ -5824,7 +5824,7 @@ "type": "waypoint", "challengeType": 0, "isBeta": true, - "nameEs": "Da vida a tu máquina tragamonedas en javascript", + "nameEs": "Da vida a tu máquina tragamonedas en JavaScript", "descriptionEs": [ "Ahora podemos detectar una victoria. Logremos que la máquina tragamonedas funcione. ", "Usemos un selector de jQuery $(\".slot\") para seleccionar todas las casillas.", @@ -5888,7 +5888,7 @@ "
", "
", "
", - " ", + " ", "

FCC Slot Machine

", "
", "
", @@ -6010,7 +6010,7 @@ "type": "waypoint", "challengeType": 0, "isBeta": true, - "nameEs": "Dale a tu máquina tragamonedas javascript algunas imágenes con estilo", + "nameEs": "Dale a tu máquina tragamonedas JavaScript algunas imágenes con estilo", "descriptionEs": [ "Ahora añadamos algunas imágenes en nuestras casillas.", "Ya hemos creado las imágenes por ti en una matriz llamada images. Podemos utilizar diferentes índices para tomara cada una de estas. ",