An open API service indexing awesome lists of open source software.

https://github.com/sol-zeta/js-training


https://github.com/sol-zeta/js-training

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

          

# Entrenamiento JavaScript




## Tipos de datos y funciones


### Realiza los siguientes ejercicios en un fichero JS




- Tipos de datos

1. Declara una constante de nombre `notDefined` sin definir.
2. Declara dos constantes de nombre `firstNumber` y `secondNumber` cuyos valores sean dos números diferentes.
3. Declara una variable de tipo let y de nombre `emptyString` cuyo valor sea un string vacío.
4. Declara una constante de nombre `string` cuyo valor sea un una cadena de caracteres en minúscula, sin espacios ni caracteres especiales.
5. Declara una variable de tipo let y de nombre `emptyArray` cuyo valor sea un array vacío.
6. Declara una constante de nombre `arrayOfNumbers`cuyo valor sea un array que contenga 5 números distintos.
7. Declara una constante de nombre `arrayOfStrings`cuyo valor sea un array que contenga 5 strings distintos, donde uno debe ser un string vacío
8. Declara una constante de nombre `emptyObject` cuyo valor sea un objeto vacío
9. Declara una variable de tipo let de nombre `arrayOfObjects` cuyo valor sea un array de objetos con al menos una propiedad
10. Declara una constante de nombre `object` cuyo valor sea un objeto, en donde la propiedad *name* almacene un string no vacío, la propiedad *age* almacene un número y la propiedad *hobbies* almacene un array de strings
11. Declara una variable de tipo let y de nombre `boolean` cuyo valor sea un booleano
12. Declara una variable de tipo let y de nombre `oppositeBoolean` cuyo valor sea la negación de la variable anterior

- Funciones (Todas ellas se pueden probar con las variables declaradas en el primer apartado)

1. Declara una función de nombre `multiplyTwoNumbers` que reciba como parámetros dos números y devuelva como resultado la multiplicación del primero por el segundo.
2. Declara una función de nombre `stringToUpperCase` que reciba como parámetro un string y devuelva un string con todos sus caracteres en mayúscula.
3. Declara una función de nombre `squareNumbers` que reciba un array de números y devuelva un array de la misma longitud cuyos elementos correspondan al cuadrado de cada número del array recibido.
4. Declara una función de nombre `findOddNumbers` que reciba un array de números y devuelva un nuevo array conteniendo solo los números impares del array original
5. Declara una función de nombre `addAllNumbers` que reciba un array de números y devuelva la suma de todos ellos. El resultado debe ser de tipo *number*
6. Declara una función de nombre `multiplyString` que reciba un número y un string y devuelva una cadena de caracteres cuyo contenido sea el string recibido como segundo parámetro multiplicado por el valor recibido como primer parámetro.
7. Declara una función de nombre `toggleBoolean` que reciba un booleano y devuelva el booleando contrario.
8. Declara una función de nombre `fillObject` que reciba un objeto vacío, un string y un array y devuelva el mismo objeto con una propiedad cuyo nombre será el string recibido y almacenará el array recibido.
9. Declara una funcion de nombre `findObjectInArray`que reciba un array de objetos con las propiedades *id* y *name* y un número y devuelva aquel objeto cuya *id* coincida con el número recibido.
10. Declara una función de nombre `findPropertyInObject` que reciba un objeto y un string y devuelva *true* si el objeto posee una propiedad que coincida con el segundo parámetro de la función y *false* si no la posee.
11. Declara una función de nombre `findSnakeInObject` que reciba un objeto y un string de dos palabras en snake_case y devuelva *true* si el objeto posee una propiedad que coincida con el segundo parámetro de la función y *false* si no la posee.
12. Declara una función de nombre `makePalindrome` que reciba un string y devuelva un palíndromo a partir del mismo.
13. Declara una función de nombre `sortStrings` que reciba un array de strings y devuelva un nuevo array con los mismos strings ordenados alfabéticamente desde la Z a la A
14. Declara una función de nombre `convertToCamelCase` que reciba como parámetros 3 strings y devuelva un string encadenando los 3 datos recibidos en *camelCase*.
15. Declara una función de nombre `convertToKebabCase` que pueda recibir cualquier cantidad de parámetros y como mínimo dos. La función devolverá un string en *kebab-case* que será el resultado de concatenar todos los argumentos recibidos.






## Katas, katas, katas...

### Codewars

- [ ] [Opposite number](https://www.codewars.com/kata/56dec885c54a926dcd001095)
- [ ] [No oddities here](https://www.codewars.com/kata/51fd6bc82bc150b28e0000ce)
- [ ] [String repeat](https://www.codewars.com/kata/57a0e5c372292dd76d000d7e)
- [ ] [Remove String Spaces](https://www.codewars.com/kata/57eae20f5500ad98e50002c5)
- [ ] [Will there be enough space?](https://www.codewars.com/kata/5875b200d520904a04000003)
- [ ] [Beginner Series #2 Clock](https://www.codewars.com/kata/55f9bca8ecaa9eac7100004a)
- [ ] [Sum Arrays](https://www.codewars.com/kata/53dc54212259ed3d4f00071c)
- [ ] [Filling an array (part 1)](https://www.codewars.com/kata/571d42206414b103dc0006a1)
- [ ] [Check the exam](https://www.codewars.com/kata/5a3dd29055519e23ec000074)
- [ ] [Find the first non-consecutive number](https://www.codewars.com/kata/58f8a3a27a5c28d92e000144/)
- [ ] [SpeedCode #2 - Array Madness](https://www.codewars.com/kata/56ff6a70e1a63ccdfa0001b1)
- [ ] [Array plus array](https://www.codewars.com/kata/5a2be17aee1aaefe2a000151)
- [ ] [Convert number to reversed array of digits](https://www.codewars.com/kata/5583090cbe83f4fd8c000051)
- [ ] [Fake Binary](https://www.codewars.com/kata/57eae65a4321032ce000002d)
- [ ] [Count the Monkeys!](https://www.codewars.com/kata/56f69d9f9400f508fb000ba7)
- [ ] [Reverse words](https://www.codewars.com/kata/5259b20d6021e9e14c0010d4/train/javascript)
- [ ] [Lario and Muigi Pipe Problem](https://www.codewars.com/kata/56b29582461215098d00000f)




### JSKatas.org

- [ ] [Block scope - let](https://tddbin.com/#?kata=es6/language/block-scoping/let)
- [ ] [Block scope - const](https://tddbin.com/#?kata=es6/language/block-scoping/const)
- [ ] [Arrow functions - basics](https://tddbin.com/#?kata=es6/language/arrow-functions/basics)
- [ ] [Arrow functions - binding](https://tddbin.com/#?kata=es6/language/arrow-functions/binding)
- [ ] [Template Strings - basics](https://tddbin.com/#?kata=es6/language/template-strings/basics)
- [ ] [Template Strings - multiline](https://tddbin.com/#?kata=es6/language/template-strings/multiline)
- [ ] [Default parameters - basics](https://tddbin.com/#?kata=es6/language/default-parameters/basics)
- [ ] [Rest - as parameter](https://tddbin.com/#?kata=es6/language/rest/as-parameter)
- [ ] [Rest - with destructuring](https://tddbin.com/#?kata=es6/language/rest/with-destructuring)
- [ ] [Spread - with arrays](https://tddbin.com/#?kata=es6/language/spread/with-arrays)
- [ ] [Spread - with strings](https://tddbin.com/#?kata=es6/language/spread/with-strings)
- [ ] [Destructuring array](https://tddbin.com/#?kata=es6/language/destructuring/array)
- [ ] [Destructuring string](https://tddbin.com/#?kata=es6/language/destructuring/string)
- [ ] [Destructuring object](https://tddbin.com/#?kata=es6/language/destructuring/object)
- [ ] [Destructuring defaults](https://tddbin.com/#?kata=es6/language/destructuring/defaults)
- [ ] [Destructuring parameters](https://tddbin.com/#?kata=es6/language/destructuring/parameters)
- [ ] [Destructuring rename](https://tddbin.com/#?kata=es6/language/destructuring/rename)