2
respuestas

Desafío: hora de practicar - Listas

Buenas Tardes Compañeros!

A continuacion presento la forma en que desarrolle los ejericios planteados:

1 . Crea una lista vacía llamada "listaGenerica".

let listaGenerica = [];

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

let lenguajesDeProgramacion = [ 'JavaScript', 'C', 'C++', 'Kotlin', 'Python'];

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

Aqui use el metodo .push() para agregar los elementos a la lista

lenguajesDeProgramacion.push('Java', 'Ruby', 'GoLang');

4. Crea una función que muestre en la consola todos los elementos de la lista "lenguagesDeProgramacion.

Para este punto lo realicé de dos formas difernetes como los son:

  • La primera forma consiste en recorrer cada uno de los elementos por medio de la sentencia for
function mostrarLista(){
    for (let i = 0; i < lenguajesDeProgramacion.length; i++){
        console.log(lenguajesDeProgramacion[i]);
    }
}
mostrarLista();
  • La segunda forma es implementando el metodo .foreach que ejecuta una funcion para cada elemento de la lista
function mostrarLista(){
    lenguajesDeProgramacion.forEach(function(elemento){
        console.log(elemento);
    });
}
mostrarLista();

5. Crea una función que muestre en la consola todos los elementos de la lista "lenguagesDeProgramacion en orden inverso.

Tambien realice dos formas principalmente:

  • La primera es recorrer en sentido inverso cada una de las posiciones del arreglo e ir mostrando en cosola su valor.
function mostrarListaInversa(){
    for (let i = lenguajesDeProgramacion.length -1; i >= 0; i--){
        console.log(lenguajesDeProgramacion[i]);
    }
}
mostrarListaInversa();
  • La segunda forma es atraves del metodo .revserse que invierte el orden de los elementos del arreglo, adicionalmente vamos a utilizar el metodo .slice() para crear una copia del arreglo original, de tal forma que este no se vea modificado. Ademas vamos a utilizar el metodo forEach para recorrer cada elemento.

function mostrarListaInversa(){
    lenguajesDeProgramacion.slice().reverse().forEach(function(elemento){
        console.log(elemento);
    });
}

6. Crea una función que calcule el promedio de los elementos en una lista de números.

  • La primera forma es recorriendo cada uno de los lemenetos de la lista por medio de la sentencia for y sumandolo en cada iteracion
function promedioLista(lista){
    if (lista.length === 0){
        return 0;
    }
    resultado = 0
    for (let i = 0; i < lista.length; i++){
        resultado += lista[i];
    }
    return resultado / lista.length
}

let arr = [5, 10, 15];
console.log(promedioLista(arr)); //10
  • La segunda forma es atraves del metodo .reduce() que Aplica una función a un acumulador y a cada elemento del arreglo
function promedioLista(lista){
    if (lista.length === 0){
        return 0;
    }
    let SumaNotas = lista.reduce(((a, b) => a + b), 0)
    return SumaNotas / lista.length;
}

let arr = [5, 10, 15];

console.log(promedioLista(arr)); //10

7. 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.

  • La primera forma es recorrer cada elemento por medio de la sentencia for evaluando en cada iteracion si es el maximo o minimo de los valores recorridos en la lista.

function maximoMinimoLista(lista){
    if (lista.length === 0){
        console.log('Ingrese valores en la lista por favor');
        return;
    }

    let maximo = lista[0];
    let minimo = lista[0];
    for (let i= 0; i < lista.length; i++){
        if(lista[i] > maximo)  maximo = lista[i];
        if(lista[i] < minimo)  minimo = lista[i];
    }
    console.log(`Minimo de la lista: ${minimo}`);
    console.log(`Maximo de la lista: ${maximo}`);
}

let arr2 = [10, 8, 15, 2, 16];
maximoMinimoLista(arr2);
  • La segunda forma es por medio del objeto Math.max() y Math.min(), ademas debemos hacer uso del operador de propagacion ...que nos permite enviar una lista como argumento
function maximoYMinimoLista(lista){
    if (lista.length === 0){
        console.log('Ingrese valores en la lista por favor');
        return;
    }

    console.log(`El numero mas grande de la lista es: ${Math.max(...lista)}`);
    console.log(`El numero mas pequeño de la lista es: ${Math.min(...lista)}`);
}

let arr2 = [10, 8, 15, 2, 16];

maximoYMinimoLista(arr2);
2 respuestas

8. Crea una función que devuelva la suma de todos los elementos en una lista.

  • La primera forma es recorriendo cada elemento de la lista por medio del ciclo for de la misma forma que hicimos en el ejercicio 6.
function sumaLista(lista){
    resultado = 0;
    for(let i = 0; i < lista.length; i++){
        resultado += lista[i];
    }
    return resultado;
}

let arr3 = [2, 5, 3];
console.log(sumaLista(arr3));
  • Otra forma es atraves del metodo .reduce
function SumaLista(lista){
    if (lista.length === 0){
        return 0;
    }
    return lista.reduce(((a,b) => a + b), 0);
}

let arr4 = [5, 10, 15];

console.log(SumaLista(arr4));

9. 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.

-La primera forma es recorriendo la lista y evaluando si es igual al elemento que estamos buscando

function  posiblesListaElemento(lista, elemento){
    if (lista.length === 0){
        return;
    }

    for ( let i = 0; i < lista.length; i++){
        if(lista[i] === elemento) return i;
    }
    return -1;
}

let arr5 = [3, 4, 8, 9];
console.log(posiblesListaElemento(arr5, 8)); //2
  • La segunda forma es atraves del metodo IndexOf() el cual busca un elemento en una lista y si no lo encuentra devuelve -1.
function posicionListaElemento(lista, elemento){
    return lista.indexOf(elemento);
}

let arr5 = [3, 4, 8, 9];

console.log(posicionListaElemento(arr5, 8)); //2

10. 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

Para este metidi evalue si tenian el mismo tamaño las listas, y luego sume cada elemento de la misma paosicion de la lista.

function SumaUnoAUno(lista1, lista2){
    if(lista1.length != lista2.length){
        console.log('Las listas deben ser del mismo tamaño');
        return;
    }

    resultado= []
    for (let i=0; i < lista1.length; i++){
        resultado.push(lista1[i] + lista2[i]);
    }
    return resultado;
}

arr6 = [1, 2, 3];
arr7 = [4, 5, 6];

console.log(SumaUnoAUno(arr6, arr7));   //[5, 7, 9]

11. Crea una función que reciba una lista de números y devuelva una nueva lista con el cuadrado de cada número.

  • La primera forma es recorrer la lista e ir calcualando el cuadrado de cada numero y guardarlo en otra lista.
function cuadradoLista(lista){
    resultado = [];
    for (let i = 0; i < lista.length; i++){
        resultado.push(lista[i] ** 2);
    }
    return resultado;
}
arr7 = [2, 3, 4, 5];
console.log(cuadradoLista(arr7));  //[4, 9, 16, 25]
  • La segunda forma es por medio del metodo .map() que crea un nuevo arreglo con los resultados de aplicar una función a cada elemento del arreglo original.
function cuadradoLista(lista){
    return lista.map((numero) => numero ** 2);
}

arr8 = [2, 3, 4, 5];
console.log(cuadradoLista(arr8)); //[4, 9, 16, 25]

Hola, Anderson,

Gracias por compartir tu experiencia con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas más ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!