Bucle for...of
Los bucles for...of
y for...in
ofrecen maneras convenientes de iterar sobre elementos de arreglos y propiedades
de objetos en JavaScript. Ambos se utilizan para recorrer, pero se aplican en diferentes situaciones.
Bucle for...of
El bucle for...of
está diseñado para iterar sobre objetos iterables (como arreglos, cadenas, objetos
Set
y Map
). Permite recorrer fácilmente los elementos de una colección.
Sintaxis:
for (let variable of iterable) {
// código que se ejecutará para cada elemento
}
Ejemplo:
let array = [1, 2, 3, 4, 5];
for (let value of array) {
console.log(value);
}
// Salida: 1 2 3 4 5
Uso para arreglos
El bucle for...of
es conveniente para recorrer elementos de un arreglo, ya que brinda acceso al valor de cada elemento:
let fruits = ['apple', 'banana', 'cherry'];
for (let fruit of fruits) {
console.log(fruit);
}
// Salida: apple banana cherry
Uso para cadenas
El bucle for...of
también puede utilizarse para iterar sobre los caracteres de una cadena:
let str = 'Hello';
for (let char of str) {
console.log(char);
}
// Salida: H e l l o
9.2 Bucle for...in
El bucle for...in
se utiliza para iterar sobre las propiedades enumerables de un objeto.
Ejecuta una iteración sobre la clave de cada propiedad.
Sintaxis:
for (let key in object {
// código que se ejecutará para cada elemento
}
Ejemplo:
let obj = {a: 1, b: 2, c: 3};
for (let key in obj) {
console.log(key + ': ' + obj[key]);
}
// Salida: a: 1 b: 2 c: 3
Uso para objetos
El bucle for...in
es conveniente para recorrer las propiedades de un objeto, ya que brinda acceso a la clave y al valor de cada propiedad:
let user = {
name: 'John',
age: 30,
isAdmin: true
};
for (let key in user) {
console.log(key + ': ' + user[key]);
}
// Salida: name: John age: 30 isAdmin: true
Uso para arreglos
El bucle for...in
se puede utilizar para iterar sobre los índices de un arreglo, pero no es recomendable, ya que
itera sobre todas las propiedades enumerables, incluidas las propiedades del prototipo:
let array = ['apple', 'banana', 'cherry'];
for (let index in array) {
console.log(index + ': ' + array[index]);
}
// Salida: 0: apple 1: banana 2: cherry
9.3 Comparación de bucles for...of y for...in
Comparación de los bucles for...of
y for...in
:
Descripción | for...of | for...in |
---|---|---|
Uso | Objetos iterables (arreglos, cadenas, Set, Map) | Objetos |
Características | Itera por valores | Itera por claves |
Uso con arreglos | for (let value of array) { ... } |
for (let index in array) { ... } |
Uso con objetos | for (let value of Object.values(obj)) { ... } |
for (let key in obj) { ... } |
GO TO FULL VERSION