diff --git a/Basic/15-loops-exercises.js b/Basic/15-loops-exercises.js index 2a27cdd0..883b87fa 100644 --- a/Basic/15-loops-exercises.js +++ b/Basic/15-loops-exercises.js @@ -18,9 +18,73 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=12732 // 6. Dado un array de números, usa un bucle para multiplicar todos los números y mostrar el producto // 7. Escribe un bucle que imprima la tabla de multiplicar del 5 +console.log('-----------------------------') +let multiplicador = 5 +let base = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +for (let i = 0; i < base.length; i++) { + let resultado = multiplicador * base[i] + console.log(resultado) +} +console.log('-----------------------------') +// 8. +console.log('-----------------------------') +let texto = 'esta cadena esta invertida' +const textResult = [] +for (let i = texto.length - 1; i >= 0; i--) { + let letraActual = texto[i] + textResult.push(letraActual) +} -// 8. Usa un bucle para invertir una cadena de texto - +console.log(textResult.join('')) +console.log('-----------------------------') // 9. Usa un bucle para generar los primeros 10 números de la secuencia de Fibonacci +console.log('-----------------------------') +let fibonacciBase = [0, 1] +let lastResult = 0 +const fibonacciResult = [] +for (let i = 0; i < 9; i++) { +if (fibonacciBase[0] === 0){ + fibonacciResult.push(fibonacciBase[0]) +} +lastResult = fibonacciBase[0] + fibonacciBase[1] +fibonacciBase = [fibonacciBase[1], lastResult] +fibonacciResult.push(fibonacciBase[0]) +} +console.log('fibonacci propio') +console.log(fibonacciResult) +console.log('-----------------------------') +console.log('-----------------------------') +let a = 0 +let b = 1 +const resultado = [] + +for (let i = 0; i < 10; i++) { + resultado.push(a) + let siguiente = a + b + a = b + b = siguiente +} +console.log('fibonacci chatgpt') +console.log(resultado) +console.log('-----------------------------') + +// 10. Dado un array de números, usa un bucle para crear un nuevo array que contenga solo los números mayores a 10 +console.log('-----------------------------') +const arrayFibonacci = [ + 0, 1, 1, 2, 3, + 5, 8, 13, 21, 34 + ] + + const resultArray = [] + + for(let i = 0 ; i < arrayFibonacci.length; i++){ + let valorActual = arrayFibonacci[i] + if (valorActual > 10) { + resultArray.push(valorActual) + } + } + + console.log('resultArray',resultArray) + -// 10. Dado un array de números, usa un bucle para crear un nuevo array que contenga solo los números mayores a 10 \ No newline at end of file + console.log('-----------------------------') \ No newline at end of file diff --git a/Basic/17-functions-exercises.js b/Basic/17-functions-exercises.js index fb7eb4e5..87dd3372 100644 --- a/Basic/17-functions-exercises.js +++ b/Basic/17-functions-exercises.js @@ -7,20 +7,141 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=14146 // 1. Crea una función que reciba dos números y devuelva su suma +console.log('1. Crea una función que reciba dos números y devuelva su suma ') +function numSum(a, b) { + return (a + b) +} +let resultado = numSum(9, 11) +console.log('resultado 1: ', resultado) +console.log('-----------------------------------------------------') + // 2. Crea una función que reciba un array de números y devuelva el mayor de ellos +console.log('2. Crea una función que reciba un array de números y devuelva el mayor de ellos ') +function findMaxNumber(numberList){ +let maxNumber = -Infinity + for(const currentNumber of numberList) { + if(currentNumber > maxNumber){ + maxNumber = currentNumber + } + } + return maxNumber +} +const resultado1 = findMaxNumber([1, 4, 5, 3, 6]) +const resultado2 = findMaxNumber([100, 2, 48, 20, 69, -30, 85, 38]) +console.log('resultado 2-A: ', resultado1) +console.log('resultado 2-B: ', resultado2) +console.log('-----------------------------------------------------') + // 3. Crea una función que reciba un string y devuelva el número de vocales que contiene +console.log('3. Crea una función que reciba un string y devuelva el número de vocales que contiene') +const frase1 = 'esta es una frase' +const frase2 = 'estamos listos para irnos a tenis' +function findVowels(phrase){ + const vowels = 'aeiouAEIOU' + let amountOfVowels = 0 + for(const character of phrase) { + if(vowels.includes(character)){ + amountOfVowels = amountOfVowels + 1 + } + } + return amountOfVowels +} +const resultadoVocales1 = findVowels(frase1) +const resultadoVocales2 = findVowels(frase2) +console.log('resultado 3-A: ', resultadoVocales1) +console.log('resultado 3-B: ', resultadoVocales2) +console.log('-----------------------------------------------------') + // 4. Crea una función que reciba un array de strings y devuelva un nuevo array con las strings en mayúsculas +console.log('4. Crea una función que reciba un array de strings y devuelva un nuevo array con las strings en mayúsculas') +const stringsArray = ['hola ciro', 'hola claus', 'esto es un array con strings'] +const convertToUpperCase = (arrayOfStrings) => { + const resultArray = [] + if(Array.isArray(arrayOfStrings) && arrayOfStrings.every(s => typeof s === 'string')){ + for(const currentString of arrayOfStrings) { + resultArray.push(currentString.toUpperCase()) + } + } + return resultArray +} +const resultadoConvert = convertToUpperCase(stringsArray) +console.log('resultado 4: ', resultadoConvert) +console.log('-----------------------------------------------------') + // 5. Crea una función que reciba un número y devuelva true si es primo, y false en caso contrario +console.log('5. Crea una función que reciba un número y devuelva true si es primo, y false en caso contrario') +console.log('-----------------------------------------------------') + // 6. Crea una función que reciba dos arrays y devuelva un nuevo array que contenga los elementos comunes entre ambos +console.log('6. Crea una función que reciba dos arrays y devuelva un nuevo array que contenga los elementos comunes entre ambos') +const commonArray1 = [2, 4, 6, 7, 9] +const commonArray2 = [1, 4, 5, 7, 8] +const getCommonItemps = (firstArrayToCompare, secondArrayToCompare) => { + const resultArray = [] + for(const currentValue of firstArrayToCompare) { + if(secondArrayToCompare.includes(currentValue)){ + resultArray.push(currentValue) + } + } + return resultArray +} +console.log('resultado 6 ', getCommonItemps(commonArray1, commonArray2)) +console.log('-----------------------------------------------------') + // 7. Crea una función que reciba un array de números y devuelva la suma de todos los números pares +console.log('7. Crea una función que reciba un array de números y devuelva la suma de todos los números pares') +const numbersArray = [3, 4, 8, 12, 26, 15, 43] +const sumAllEvenNumbers = (arrayOfNumbers) => { + return arrayOfNumbers.reduce((valorTotal, valorActual) => { + if(valorActual % 2 === 0){ + return valorTotal + valorActual + } + return valorTotal + }, 0) +} + +console.log('resultado 7: ',sumAllEvenNumbers(numbersArray)) +console.log('-----------------------------------------------------') + // 8. Crea una función que reciba un array de números y devuelva un nuevo array con cada número elevado al cuadrado +console.log('8. Crea una función que reciba un array de números y devuelva un nuevo array con cada número elevado al cuadrado') +const elevarAlCuadrado = (arrayOfNumbers) => { + const resultArray = [] + for (const currentNumber of arrayOfNumbers) { + resultArray.push(currentNumber * currentNumber) + } + return(resultArray) +} + +// otra forma de hacerlo: +// const getSquare = n => n * n +// const elevarAlCuadrado = (arrayOfNumbers) => arrayOfNumbers.map(getSquare) + +console.log('resultado 8 ', elevarAlCuadrado([3, 6, 2, 8])) +console.log('-----------------------------------------------------') + // 9. Crea una función que reciba una cadena de texto y devuelva la misma cadena con las palabras en orden inverso -// 10. Crea una función que calcule el factorial de un número dado \ No newline at end of file +console.log('9. Crea una función que reciba una cadena de texto y devuelva la misma cadena con las palabras en orden inverso') +const stringNew = ('hola como te va soy ciro') +const invertText = (cadenaDeTexto) => { + const arrayDelString = cadenaDeTexto.split(' ') + const arrayDelStringReversed = arrayDelString.reverse() + return arrayDelStringReversed.join(' ') +} +const resultado9 = invertText(stringNew) +console.log('resultado 9 ',resultado9) +console.log('-----------------------------------------------------') + +// 10. Crea una función que calcule el factorial de un número dado + +const calculeFactorial = (numbersCalcule) => { + const factorial +} \ No newline at end of file diff --git a/Basic/19-objects-exercises.js b/Basic/19-objects-exercises.js index 5dbbd628..9e130d6e 100644 --- a/Basic/19-objects-exercises.js +++ b/Basic/19-objects-exercises.js @@ -5,20 +5,90 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=15675 // 1. Crea un objeto con 3 propiedades +console.log(`Crea un objeto con 3 propiedades`) +let person = { + name: `Ciro`, + age: 18, + height: 1.70 +} +console.log('-----------------------------------------------------') + // 2. Accede y muestra su valor +console.log(`2. Accede y muestra su valor`) +console.log(person) +console.log('-----------------------------------------------------') + // 3. Agrega una nueva propiedad +console.log(`3. Agrega una nueva propiedad`) +person.mom = `Julia` +console.log(person) +console.log('-----------------------------------------------------') + // 4. Elimina una de las 3 primeras propiedades +console.log(`4. Elimina una de las 3 primeras propiedades`) +delete person.height +console.log(person) +console.log('-----------------------------------------------------') + // 5. Agrega una función e invócala +console.log(`5. Agrega una función e invócala`) +person.playVideoGames = () => { + console.log(`ciro is playing videogames`) +} +console.log(person.playVideoGames()) +console.log('-----------------------------------------------------') + // 6. Itera las propiedades del objeto +console.log(`6. Itera las propiedades del objeto`) +for (let key in person) { + console.log(key + `: ` + person[key]) +} +console.log('-----------------------------------------------------') + // 7. Crea un objeto anidado +console.log(`7. Crea un objeto anidado`) +person.hobbie = { + name: `watch better call saul`, + seasonsWatched: 3, + favouriteChapter: `the last one` +} +console.log(person) +console.log('-----------------------------------------------------') + // 8. Accede y muestra el valor de las propiedades anidadas +console.log(`8. Accede y muestra el valor de las propiedades anidadas`) +console.log(person.hobbie) +console.log('-----------------------------------------------------') + // 9. Comprueba si los dos objetos creados son iguales -// 10. Comprueba si dos propiedades diferentes son iguales \ No newline at end of file +console.log(`9. Comprueba si los dos objetos creados son iguales`) +const obj1 = {name: 'Ciro', lastName: 'Hesse', address: {street: 'av presidente peron 329'}} +const obj2 = {...obj1, address: {...obj1.address}} +const getFullName = (person) => { + const {name, lastName} = person + return name + ' ' + lastName +} + +obj2.name = 'Claus' +obj2.address.street = 'llavallol 1777' +console.log('obj1 es igual a obj2?: ', obj1 == obj2) +console.log('obj1', obj1) +console.log('obj2', obj2) +console.log('getFullName(obj1)', getFullName(obj1)) +console.log('getFullName(obj2)', getFullName(obj2)) +console.log(person.hobbie === person) +console.log('-----------------------------------------------------') + +// 10. Comprueba si dos propiedades diferentes son iguales + +console.log(`10. Comprueba si dos propiedades diferentes son iguales`) +console.log(person.age === person.name) +console.log('-----------------------------------------------------') \ No newline at end of file