En aquest tema, aprendrem com iterar sobre arrays en JavaScript. La iteració és una tècnica fonamental per treballar amb col·leccions de dades, i JavaScript ofereix diverses maneres de fer-ho. Explorarem les següents tècniques:
- Bucles
for
- Bucles
while
ido-while
- Mètodes d'array com
forEach
,map
,filter
, ireduce
- Bucles
for
for
El bucle for
és una de les maneres més comunes d'iterar sobre un array. La seva sintaxi és la següent:
Explicació:
- Inicialització (
let i = 0
): Inicialitza una variable de controli
a 0. - Condició (
i < array.length
): El bucle continua mentrei
sigui menor que la longitud de l'array. - Increment (
i++
): Incrementai
en 1 després de cada iteració.
- Bucles
while
i do-while
while
i do-while
Bucle while
El bucle while
repeteix un bloc de codi mentre una condició sigui certa.
Bucle do-while
El bucle do-while
és similar al while
, però garanteix que el bloc de codi s'executi almenys una vegada.
const array = [1, 2, 3, 4, 5]; let i = 0; do { console.log(array[i]); i++; } while (i < array.length);
- Mètodes d'Array
forEach
El mètode forEach
executa una funció per a cada element de l'array.
map
El mètode map
crea un nou array amb els resultats de la funció aplicada a cada element de l'array original.
const array = [1, 2, 3, 4, 5]; const newArray = array.map(function(element) { return element * 2; }); console.log(newArray); // [2, 4, 6, 8, 10]
filter
El mètode filter
crea un nou array amb tots els elements que compleixen una condició especificada.
const array = [1, 2, 3, 4, 5]; const filteredArray = array.filter(function(element) { return element > 2; }); console.log(filteredArray); // [3, 4, 5]
reduce
El mètode reduce
aplica una funció a un acumulador i a cada element de l'array (de l'esquerra a la dreta) per reduir-lo a un únic valor.
const array = [1, 2, 3, 4, 5]; const sum = array.reduce(function(accumulator, currentValue) { return accumulator + currentValue; }, 0); console.log(sum); // 15
Exercicis Pràctics
Exercici 1: Iteració amb for
Escriu una funció que rebi un array de nombres i retorni la suma de tots els elements utilitzant un bucle for
.
function sumArray(array) { let sum = 0; for (let i = 0; i < array.length; i++) { sum += array[i]; } return sum; } // Prova console.log(sumArray([1, 2, 3, 4, 5])); // 15
Exercici 2: Filtrar amb filter
Escriu una funció que rebi un array de nombres i retorni un nou array amb només els nombres parells utilitzant filter
.
function filterEvenNumbers(array) { return array.filter(function(element) { return element % 2 === 0; }); } // Prova console.log(filterEvenNumbers([1, 2, 3, 4, 5])); // [2, 4]
Exercici 3: Transformar amb map
Escriu una funció que rebi un array de nombres i retorni un nou array amb cada nombre multiplicat per 3 utilitzant map
.
function multiplyByThree(array) { return array.map(function(element) { return element * 3; }); } // Prova console.log(multiplyByThree([1, 2, 3, 4, 5])); // [3, 6, 9, 12, 15]
Conclusió
En aquesta secció, hem après diverses tècniques per iterar sobre arrays en JavaScript, incloent bucles tradicionals com for
i while
, així com mètodes d'array com forEach
, map
, filter
i reduce
. La pràctica d'aquestes tècniques és essencial per treballar de manera eficient amb col·leccions de dades en JavaScript. Ara estàs preparat per aplicar aquestes tècniques en projectes reals i resoldre problemes complexos de manipulació de dades.
JavaScript: De Principiant a Avançat
Mòdul 1: Introducció a JavaScript
- Què és JavaScript?
- Configuració del Teu Entorn de Desenvolupament
- El Teu Primer Programa en JavaScript
- Sintaxi i Conceptes Bàsics de JavaScript
- Variables i Tipus de Dades
- Operadors Bàsics
Mòdul 2: Estructures de Control
- Declaracions Condicionals
- Bucles: for, while, do-while
- Declaracions Switch
- Gestió d'Errors amb try-catch
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Expressions de Funció i Funcions Fletxa
- Paràmetres i Valors de Retorn
- Àmbit i Tancaments
- Funcions d'Ordre Superior
Mòdul 4: Objectes i Arrays
- Introducció als Objectes
- Mètodes d'Objecte i Paraula Clau 'this'
- Arrays: Conceptes Bàsics i Mètodes
- Iteració sobre Arrays
- Desestructuració d'Arrays
Mòdul 5: Objectes i Funcions Avançades
- Prototips i Herència
- Classes i Programació Orientada a Objectes
- Mòduls i Importació/Exportació
- JavaScript Asíncron: Callbacks
- Promeses i Async/Await
Mòdul 6: El Model d'Objectes del Document (DOM)
- Introducció al DOM
- Selecció i Manipulació d'Elements del DOM
- Gestió d'Esdeveniments
- Creació i Eliminació d'Elements del DOM
- Gestió i Validació de Formularis
Mòdul 7: APIs del Navegador i Temes Avançats
- Emmagatzematge Local i de Sessió
- Fetch API i AJAX
- WebSockets
- Service Workers i Aplicacions Web Progressives (PWAs)
- Introducció a WebAssembly
Mòdul 8: Proves i Depuració
- Depuració de JavaScript
- Proves Unitàries amb Jest
- Proves d'Integració
- Proves de Cap a Cap amb Cypress
Mòdul 9: Rendiment i Optimització
- Optimització del Rendiment de JavaScript
- Gestió de Memòria
- Manipulació Eficient del DOM
- Càrrega Per Mandat i Divisió de Codi
Mòdul 10: Frameworks i Llibreries de JavaScript
- Introducció a React
- Gestió d'Estat amb Redux
- Conceptes Bàsics de Vue.js
- Conceptes Bàsics d'Angular
- Triar el Framework Adequat