From 23f0c768a04fdb47d6964f7faed47bcb03cc1be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Olvera=20Vital?= Date: Thu, 30 Jul 2020 00:03:02 -0500 Subject: [PATCH] [Feature](content): add includes metodth level --- src/content/arrays/includes/challenge.md | 25 +++++++++ src/content/arrays/includes/content.md | 70 ++++++++++++++++++++++++ src/content/arrays/includes/test.js | 50 +++++++++++++++++ src/content/sitemap.json | 24 ++++++++ 4 files changed, 169 insertions(+) create mode 100644 src/content/arrays/includes/challenge.md create mode 100644 src/content/arrays/includes/content.md create mode 100644 src/content/arrays/includes/test.js diff --git a/src/content/arrays/includes/challenge.md b/src/content/arrays/includes/challenge.md new file mode 100644 index 0000000..24591ae --- /dev/null +++ b/src/content/arrays/includes/challenge.md @@ -0,0 +1,25 @@ +Ahora ya puedes aplicar el método _.includes()_ para ayudar a Oscar a saber si su empleado llamado Leonidas que tiene como skill JavaScript sigue en nómina. + +1. Crea un arreglo que contenga todos los empleados. +2. Crea el objeto que tenga los datos del empleado que quiere saber Oscar si esta en nómina. +3. Aplica el método .includes() +4. Haz un console.log con el resultado. + +```javascript +let leonidas = { + name: 'Leonidas', + skill: 'JavaScript' +}; +let nicole = { + name: 'Nicole', + skill: 'Python' +}; +let richard = { + name: 'Richard', + skill: 'Python' +}; +let angela = { + name: 'Angela', + skill: 'JavaScript' +}; +``` diff --git a/src/content/arrays/includes/content.md b/src/content/arrays/includes/content.md new file mode 100644 index 0000000..88399ac --- /dev/null +++ b/src/content/arrays/includes/content.md @@ -0,0 +1,70 @@ +
+ +Hola soy Oscar, hoy quiero saber si un empleado sigue en nómina y no quisiera revisar todos los empleados registrados para saber si sigue o no en nómina. ¿Puedes ayudare? + +
+ +## Lección + +
+Hi! Soy Pepe de nuevo y vengo a enseñarte el _método .includes()_ el cual determina si un elemento dado se encuentran en un array. + +```javascript +let comida = [🍎 , 🌮 , 🍉, 🍔]; + +let hamburgesa = 🍔; + +console.log(comida.includes(hamburgesa)); + +true +``` + +Como puedes ver el método _.includes()_ regresa `true` si el elemento pertenece a al array, y regresará `false` si no. + +
+ +Usemos el ejemplo de la zapatería. +Llega un cliente a pedir un para de zapatos de la marca supreme, pero no estan en exhibición. Se tiene que ir a la bodega a buscarlos, y el cliente tendría que esperar para saber si tiene o no. Con el método _.includes()_ puedes saber si hay en la bodega y decirle al cliente que espere porque si lo tienes. +¿Cómo lo implementarías? + +### Paso 1: Tener todos los zapatos como objetos. + +```javascript +let zapato1 = { + talla: 1200, + marca: 'adidas' +}; +let zapato2 = { + talla: 800, + marca: 'adidas' +}; +let zapato3 = { + talla: 3400, + marca: 'supreme' +}; +let zapato4 = { + talla: 1600, + marca: 'nike' +}; +``` + +### Paso 2: Crea un array con que tenga a todos los zapatos. + +```javascript +const zapatos = [zapato1, zapato2, zapato3, zapato4]; +``` + +### Paso 3: Crear un objeto del zapato que quiere el cliente. + +```javascript +const zapatoCliente = { + talla: 3400, + marca: 'supreme' +}; +``` + +### Paso 4: Utilizar el método .include() y mostrar el resultado. + +```js +const existencias = zapatos.include(zapatoCliente); +``` diff --git a/src/content/arrays/includes/test.js b/src/content/arrays/includes/test.js new file mode 100644 index 0000000..97cfba5 --- /dev/null +++ b/src/content/arrays/includes/test.js @@ -0,0 +1,50 @@ +export const TEMPLATE = `let leonidas = { + name: "Leonidas", + skill: "JavaScript" +}; +let nicole = { + name: "Nicole", + skill: "Python" +}; +let richard = { + name: "Richard", + skill: "Python" +}; +let angela = { + name: "Angela", + skill: "JavaScript" +}; +const payroll = []; +const employee = { + name: "", + skill: "" +}; +const isInPayroll = payroll.method(object); +console.log(isInPayroll);` + +export const TEST = [ + { + description: 'Test isInPayroll value', + type: 'equal', + value: 'isInPayroll', + params: [true], + status: 'to-do', + }, + { + description: 'Test payroll length', + type: 'equal', + value: 'payroll.length', + params: [4], + status: 'to-do', + }, + { + description: 'Test employee value', + type: 'deepEqual', + value: 'payroll.length', + params: [{ + name: "Leonidas", + skill: "JavaScript", + }], + status: 'to-do', + }, +] diff --git a/src/content/sitemap.json b/src/content/sitemap.json index 4040583..8d6857e 100644 --- a/src/content/sitemap.json +++ b/src/content/sitemap.json @@ -49,6 +49,30 @@ "challengePath": "src/content/arrays/flat/challenge.md", "testPath": "src/content/arrays/flat/test.js", "prevLevelId": 3, + "nextLevelId": 5 + }, + { + "id": 6, + "isActive": false, + "isWinner": false, + "levelNumber": 6, + "title": "Find", + "contentPath": "src/content/find/flat/content.md", + "challengePath": "src/content/find/flat/challenge.md", + "testPath": "src/content/find/flat/test.js", + "prevLevelId": 5, + "nextLevelId": 7 + }, + { + "id": 7, + "isActive": false, + "isWinner": false, + "levelNumber": 7, + "title": "Includes", + "contentPath": "src/content/includes/flat/content.md", + "challengePath": "src/content/includes/flat/challenge.md", + "testPath": "src/content/includes/flat/test.js", + "prevLevelId": 6, "nextLevelId": null } ]