Чтобы создать собственный фильтр в JavaScript, вы можете использовать различные методы в зависимости от требований вашего проекта. Вот несколько подходов, которые вы можете рассмотреть:
-
Метод Array Filter:
Метод Arrayfilter()позволяет создать новый массив, содержащий элементы, соответствующие определенному условию. Вы можете определить функцию обратного вызова, которая оценивает каждый элемент и возвращаетtrueилиfalseв зависимости от условия фильтрации.Пример:
const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter(num => num % 2 === 0); console.log(evenNumbers); // Output: [2, 4] -
Пользовательская функция фильтрации.
Вы можете создать пользовательскую функцию, которая выполняет итерацию по массиву и применяет вашу логику фильтрации. Такой подход дает вам больше гибкости при определении сложных условий фильтрации.Пример:
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] -
Фильтр объектов.
Если у вас есть массив объектов и вы хотите фильтровать их на основе определенных свойств объекта, вы можете использовать такие методы, как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' }]