Различные методы создания пользовательских фильтров в JavaScript

Чтобы создать собственный фильтр в JavaScript, вы можете использовать различные методы в зависимости от требований вашего проекта. Вот несколько подходов, которые вы можете рассмотреть:

  1. Метод Array Filter:
    Метод Array filter()позволяет создать новый массив, содержащий элементы, соответствующие определенному условию. Вы можете определить функцию обратного вызова, которая оценивает каждый элемент и возвращает trueили falseв зависимости от условия фильтрации.

    Пример:

    const numbers = [1, 2, 3, 4, 5];
    const evenNumbers = numbers.filter(num => num % 2 === 0);
    console.log(evenNumbers); // Output: [2, 4]
  2. Пользовательская функция фильтрации.
    Вы можете создать пользовательскую функцию, которая выполняет итерацию по массиву и применяет вашу логику фильтрации. Такой подход дает вам больше гибкости при определении сложных условий фильтрации.

    Пример:

    function filterArray(array, condition) {
     const filteredArray = [];
     for (let i = 0; i < array.length; i++) {
       if (condition(array[i])) {
         filteredArray.push(array[i]);
       }
     }
     return filteredArray;
    }
    const numbers = [1, 2, 3, 4, 5];
    const evenNumbers = filterArray(numbers, num => num % 2 === 0);
    console.log(evenNumbers); // Output: [2, 4]
  3. Фильтр объектов.
    Если у вас есть массив объектов и вы хотите фильтровать их на основе определенных свойств объекта, вы можете использовать такие методы, как filter()или пользовательскую функцию для достижения это.

    Пример:

    const products = [
     { name: 'Apple', category: 'Fruit' },
     { name: 'Carrot', category: 'Vegetable' },
     { name: 'Orange', category: 'Fruit' },
    ];
    const fruitProducts = products.filter(product => product.category === 'Fruit');
    console.log(fruitProducts);
    // Output: [{ name: 'Apple', category: 'Fruit' }, { name: 'Orange', category: 'Fruit' }]