Volver a la página principal
viernes 20 septiembre 2024
11

10 trucos geniales usando Array.filter() que debes probar

El filtrado de arrays en JavaScript es una característica poderosa que puede usarse de forma creativa y práctica.

Aquí hay algunos usos innovadores del método array.filter:

1. Eliminando duplicados

const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = numbers.filter((value, index, self) => self.indexOf(value) === index);
// uniqueNumbers: [1, 2, 3, 4, 5]

2. Encontrando números primos

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const isPrime = num => {
    for (let i = 2, s = Math.sqrt(num); i <= s; i++)
        if (num % i === 0) return false;
    return num > 1;
};
const primeNumbers = numbers.filter(isPrime);
// primeNumbers: [2, 3, 5, 7]

3. Filtrando objetos por propiedad

const users = [
    { name: 'Alice', age: 25 },
    { name: 'Bob', age: 30 },
    { name: 'Charlie', age: 25 }
];
const age25 = users.filter(user => user.age === 25);
// age25: [{ name: 'Alice', age: 25 }, { name: 'Charlie', age: 25 }]

4. Excluyendo valores falsos

const values = [0, 1, false, 2, '', 3, null, undefined, 4];
const truthyValues = values.filter(Boolean);
// truthyValues: [1, 2, 3, 4]

5. Filtrando arrays anidados

const nestedArrays = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const flattenedAndFiltered = nestedArrays.flat().filter(num => num > 5);
// flattenedAndFiltered: [6, 7, 8, 9]

6. Filtrando valores únicos en arrays anidados

const arrays = [[1, 2, 3], [3, 4, 5], [5, 6, 7]];
const uniqueValues = [...new Set(arrays.flat())];
// uniqueValues: [1, 2, 3, 4, 5, 6, 7]

7. Filtrando por rango de fechas

const events = [
    { name: 'Evento 1', date: new Date('2023-01-01') },
    { name: 'Evento 2', date: new Date('2023-06-01') },
    { name: 'Evento 3', date: new Date('2023-12-01') }
];
const startDate = new Date('2023-01-01');
const endDate = new Date('2023-06-30');
const filteredEvents = events.filter(event => event.date >= startDate && event.date <= endDate);
// filteredEvents: [{ name: 'Evento 1', date: new Date('2023-01-01') }, { name: 'Evento 2', date: new Date('2023-06-01') }]

8. Filtrando con múltiples condiciones

const products = [
    { name: 'Laptop', price: 1000, inStock: true },
    { name: 'Teléfono', price: 500, inStock: false },
    { name: 'Tableta', price: 300, inStock: true }
];
const availableExpensiveProducts = products.filter(product => product.inStock && product.price > 400);
// availableExpensiveProducts: [{ name: 'Laptop', price: 1000, inStock: true }]

9. Filtrando array de cadenas por longitud

const words = ['manzana', 'banana', 'cereza', 'dátil'];
const longWords = words.filter(word => word.length > 5);
// longWords: ['manzana', 'banana', 'cereza']

10. Filtrando valores no numéricos

const mixedValues = [1, 'dos', 3, 'cuatro', 5];
const numericValues = mixedValues.filter(value => typeof value === 'number');
// numericValues: [1, 3, 5]

¡Gracias por leer! 😜

Etiquetas:
javascript
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer