A partir de las versiones de ES6 se agregaron varias funcionalidades y métodos que sirven para no rompernos tanto la cabeza, o por lo menos hace el código más legible, sobre todo cuando agarramos código de otro y no entendemos que es lo que está haciendo, dejo algunas cosas interesantes que estoy usando últimamente para prescindir de hacer cosas poco legibles.
1- Prescindir del for de las versiones anteriores.
Ahora es mejor usar for of, ya que vamos a ahorrarnos quizá dolores de cabeza para entender que estamos haciendo con o en el ciclo, ejemplo:
let usuarios = ['Usuario1', 'Usuario2', 'Usuario3', 'Usuario4', 'Usuario5']
for(let recorrerNombres of usuarios){
console.log(recorrerNombres)
}
Esto nos devuelve cada elemento del array sin la necesidad de usar un contador.
=>
Usuario1
Usuario2
Usuario3
Usuario4
Usuario5
Peeero, que pasa cuando además de obtener el elemento, también necesitamos obtener el índice? En ese caso entra en juego forEach, esto ya es un método, y se utiliza así:
let usuarios = ['Usuario1', 'Usuario2', 'Usuario3', 'Usuario4', 'Usuario5']
usuarios.forEach((elemento, indice) =>{
console.log(elemento)
console.log(indice)
})
=>
Usuario1
0
Usuario2
1
Usuario3
2
Usuario4
3
Usuario5
4
2 - Recorrer arrays con condiciones de búsqueda:
A veces necesitamos comparar si existe o no existe tal elemento adentro de un array, o incluso su índice.
Un ejemplo sería un botón que elimine a un de este foro con un click, para eso tendríamos que recorrer todos los usuarios y encontrar la coincidencia en base a la condición que impusimos:
let usuarios = ['Usuario1', 'Usuario2', 'Usuario3', 'Usuario4', 'Usuario5']
usuarios.some(elementos => {
if(elementos === 'Usuario2'){
console.log('Usuario eliminado')
}
})
PD: El método some() solo busca que se cumpla una sola condicion, por lo que encontrar un solo elemento le basta.
Pero también podemos no solo encontrar una coincidencia adentro del array, sino varias en todos los elementos, esto lo podemos hacer con el método every():
let usuarios = ['Usuario1', 'Usuario2', 'Usuario3', 'Usuario4', 'Usuario5']
usuarios.every(elementos => {
if(elementos.includes('Usu')){
console.log(`Todos los elementos contienen "Usu"`);
}
})
=>
Todos los elementos contienen "Usu"
Top comments (0)