let notas = [3, 7, 4, 8, 6, 5, 9, 2]; // con forEach recorremos todos los valores del array notas.forEach(function (valor) { console.log(valor); }) let suma = 0; notas.forEach(function (valor) { suma += valor; }) console.log(suma) // Imprimir las notas que están posiciones pares notas.forEach(function (valor, indice) { if (indice % 2 == 0) { console.log(valor); } }) // Puedo usar una función que ya exista notas.forEach(mostrar); function mostrar(valor) { console.log(valor); } let notasDuplicadas = notas.map(function (valor) { return valor * 2; }) console.log(notas); console.log(notasDuplicadas); let notasMitad = notas.map((valor) => valor / 2); console.log(notas); console.log(notasMitad); let copia = notas.map(valor => valor); console.log(copia); // Yo puedo usar filter para recuperar todos los elementos que cumplan una condición let aprobados = notas.filter(function (valor) { return valor >= 5; } ); console.log(aprobados); let suspendidos = notas.filter(valor => valor < 5); console.log(suspendidos); let suspensos = []; for (let nota of notas) { if (nota < 5) { suspensos.push(nota); } } console.log(suspensos); // Sumar todos los elementos de un array let totalNotas = notas.reduce(function (total, valor) { return total + valor; }) console.log(totalNotas) // Suma todas las notas aprobadas totalNotas = notas.reduce(function (total, valor) { if (valor >= 5) { total += valor; } return total; }) console.log(totalNotas) // Contar todas las notas aprobadas totalNotas = notas.reduce(function (total, valor) { if (valor >= 5) { total++; } return total; }, 0); // Le pongo 0 a total como valor inicial console.log(totalNotas)