Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: hora de practicar

  1. Crea una lista vacía llamada "listaGenerica".
    let liastaGenerica = [];

  2. Crea una lista de lenguajes de programación llamada "lenguagesDeProgramacion con los siguientes elementos: 'JavaScript', 'C', 'C++', 'Kotlin' y 'Python'.
    let lenguagesDeProgramacion = [ 'JavaScript', 'C', 'C++', 'Kotlin', 'Python'];

  3. Agrega a la lista "lenguagesDeProgramacion los siguientes elementos: 'Java', 'Ruby' y 'GoLang'.
    lenguagesDeProgramacion.push( 'Java', 'Ruby','GoLang');


Funciones de validación ***

function validarArray(lista) {
  if (!Array.isArray(lista)) {
        console.error("El argumento debe ser un array");
        return false;
    }
    if (lista.length === 0) {
        console.error("El array no puede estar vacío");
        return false;
    }
    return true;
}

function esArrayDeNumeros(lista) {
    if (!(Array.isArray(lista) && lista.every(e => Number.isFinite(e)))) {
        console.error(`El array tiene que contener solo numeros`);
        return false;
    }
    return true
}
  1. Crea una función que muestre en la consola todos los elementos de la lista "lenguagesDeProgramacion.
 function mostrarLista(lista) {
   if (!validarArray(lista)) return;

   lista.forEach((elemento) => {
       console.log(elemento);
   });
}
  1. Crea una función que muestre en la consola todos los elementos de la lista "lenguagesDeProgramacion en orden inverso.

    `

function mostrarListaInversa(lista) {
if (!validarArray(lista)) return;

lista.reverse();
mostrarLista(lista)

}`

  1. Crea una función que calcule el promedio de los elementos en una lista de números.
function promedioNumero(lista) {
    if (!validarArray(lista)) return;
    if (!esArrayDeNumeros(lista)) return;

    let suma = lista.reduce((accu,current)=> accu +current,0)
    return  console.log(suma/lista.length)
}
  1. Crea una función que muestre en la consola el número más grande y el número más pequeño en una lista.
function mayorYmenor(lista) {
    if (!validarArray(lista)) return;
    if (!esArrayDeNumeros(lista)) return;
    let max = Math.max(...lista)
    let min = Math.min(...lista)

    return console.log(`El numero maximo es ${max} y el minimo es ${min}`)
}
  1. Crea una función que devuelva la suma de todos los elementos en una lista.
function suma(lista) {
    if (!validarArray(lista)) return;
    if (!esArrayDeNumeros(lista)) return;
    let suma = lista.reduce((accu,current)=> accu + current,0)
    return console.log(suma)
}
  1. Crea una función que devuelva la posición en la lista donde se encuentra un elemento pasado como parámetro, o -1 si no existe en la lista.
function encontrarPosicion(lista,elemento) {
    if (!validarArray(lista)) return;
    let posicion = lista.indexOf(elemento);
    if (posicion>-1) {
        return console.log(`El elemento se encuntra en la posicion ${posicion} en la lista ${lista}`)
    } else {
        return console.log(`El elemento no se encuntra en la lista ${lista}`)
    }

}
  1. Crea una función que reciba dos listas de números del mismo tamaño y devuelva una nueva lista con la suma de los elementos uno a uno.
function sumaDeListas(listaUno,listaDos) {
    if (!validarArray(listaUno) && !validarArray(listaDos) ) return;
    if (!esArrayDeNumeros(listaUno) && !esArrayDeNumeros(listaDos)) return;
    if (listaUno.length !== listaDos.length) {
        return console.error(`Las dos listas deben contener los mismos argumentos`)
    }
    
    let suma = [];
    for (let i = 0; i < listaUno.length; i++) {
        suma.push(listaUno[i] + listaDos[i])
    }

    return console.log(suma)
}
  1. Crea una función que reciba una lista de números y devuelva una nueva lista con el cuadrado de cada número.
function cuadradoDeUnaLista(lista) {
    if (!validarArray(lista)) return;
    if (!esArrayDeNumeros(lista)) return;
    let cuadrado = lista.map((elemento)=> elemento * 2)

    return console.log(cuadrado)
}
1 respuesta

Hola Juan,

¡Qué bueno que estás practicando con funciones y listas! Parece que ya has avanzado bastante en los desafíos. A continuación, te dejo algunos comentarios sobre tus soluciones:

  1. Lista vacía: Tu creación de la lista listaGenerica está perfecta.

  2. Lista de lenguajes de programación: La lista lenguagesDeProgramacion está bien creada y los elementos adicionales se agregan correctamente usando push.

  3. Mostrar lista: La función mostrarLista está bien diseñada para imprimir los elementos de la lista.

  4. Mostrar lista en orden inverso: La función mostrarListaInversa invierte la lista correctamente antes de mostrarla. Sin embargo, ten cuidado, porque reverse() modifica la lista original. Si necesitas mantener el orden original, podrías usar slice().reverse() para crear una copia invertida.

  5. Promedio de números: La función promedioNumero está bien, pero recuerda que console.log dentro de la función no devuelve el valor, solo lo imprime. Si necesitas el valor para otro cálculo, podrías usar return suma/lista.length.

  6. Mayor y menor número: Esta función está bien implementada para encontrar el máximo y el mínimo.

  7. Suma de elementos: La función suma está correcta para sumar todos los elementos de la lista.

  8. Posición de un elemento: La función encontrarPosicion maneja bien la búsqueda de un elemento y devuelve la posición correcta o -1 si no está presente.

  9. Suma de listas: La función sumaDeListas está bien, pero asegúrate de que ambas listas sean del mismo tamaño antes de intentar sumarlas.

  10. Cuadrado de una lista: En la función cuadradoDeUnaLista, parece que multiplicas por 2 en lugar de elevar al cuadrado. Deberías usar elemento * elemento o Math.pow(elemento, 2) para obtener el cuadrado de cada número.

Espero que estos comentarios te sean útiles. ¡Sigue practicando y explorando! Espero haber ayudado y buenos estudios!