Manejo de colecciones en Laravel: reject, filter y map

  • Publicado el 10 marzo, 2025
  • Palabras: 292

Las colecciones de Laravel brindan una forma poderosa y expresiva de trabajar con arrays o conjuntos de datos. En esta publicación, exploraremos tres métodos fundamentales: reject, filter y map. Si bien estas son herramientas esenciales en su conjunto de herramientas de Laravel, cumplen propósitos distintos en la manipulación de datos.

Manejo de colecciones en Laravel: reject, filter y map

#El método reject

La función reject es la herramienta ideal para filtrar elementos de una colección en función de una condición específica. Crea una nueva colección que excluye elementos para los que la devolución de llamada devuelve verdadero. Veamos un ejemplo:

 

$collection = collect([1, 2, 3, 4, 5]);

$filtered = $collection->reject(function ($item) {
    return $item % 2 == 0; // Excluye número pares
});

$filtered->all(); // Output: [1, 3, 5]

 

En este ejemplo, usamos reject para crear una nueva colección que excluye números pares de la colección original.

 

#El método filter

El método filter filtra la colección utilizando función específica dada, manteniendo solo aquellos elementos que pasan una prueba de verdad determinada:

 

$collection = collect([1, 2, 3, 4, 5]);

$filtered = $collection->filter(function ($item) {
    return $item % 2 == 0; // Filtra los número pares
});

$filtered->all(); // Output: [2, 4]

 

En este ejemplo, usamos filter para crear una nueva colección que incluya los números pares de la colección original.

#El método map

Por otro lado, el método map es tu aliado cuando necesitas transformar cada elemento de una colección mediante un callback. Crea una nueva colección con los resultados de aplicar el callback a cada elemento. Aquí tienes un ejemplo:

 

$collection = collect([1, 2, 3, 4, 5]);

$squared = $collection->map(function ($item) {
    return $item * $item; // Elevar al cuadrado cada número
});

$squared->all(); // Output: [1, 4, 9, 16, 25]

 

En este ejemplo, usamos el métod map para crear una nueva colección donde cada elemento es el cuadrado.

#Diferencias importantes

  1. Objetivo
    • reject: filtra elementos según una condición, excluyendo los elementos que la satisfacen.
    • filter: filtra elementos según una condición, incluyendo los elementos que la satisfacen. 
    • map: transforma elementos en función de un callback y crea una nueva colección con los valores transformados.
  2. Resultado
    • reject: devuelve una nueva colección con elementos que no cumplieron la condición especificada.
    • filter: devuelve una nueva colección con elementos que cumplieron la condición especificada.
    • map: devuelve una nueva colección con elementos transformados según la devolución de llamada proporcionada.
  3. Valor del callback
    • reject: incluye elementos para los cuales el callback devuelve false.
    • filter: incluye elementos para los cuales el callback devuelve true.
    • map: incluye los resultados de aplicar el callback a cada elemento.

 

En resumen, reject es tu herramienta para excluir elementos, filter para incluirlos y map es tu aliado para transformarlos. Elija la función adecuada en función de sus necesidades de manipulación de datos.

Antonio Jenaro
Antonio Jenaro

Web Developer

Archivado en:

Artículos relacionados

Conversión de valores en colecciones con el método wrap de Laravel
559

Conversión de valores en colecciones con el método wrap de Laravel

Cómo encontrar elementos duplicados en colecciones de Laravel
510

Cómo encontrar elementos duplicados en colecciones de Laravel

Comparación de colecciones basadas en claves con el método diffKeys de Laravel
409

Comparación de colecciones basadas en claves con el método diffKeys de Laravel

Inicia la conversación

Hazte miembro de Antonio Jenaro para comenzar a comentar.

Regístrate ahora

¿Ya estás registrado? Inicia sesión