В TypeScript условная фильтрация — это мощный метод, позволяющий выборочно фильтровать элементы массива на основе определенных условий. Это удобный инструмент, который поможет вам писать более чистый и выразительный код. В этой статье мы углубимся в различные методы условной фильтрации массивов в TypeScript, дополненные разговорными объяснениями и примерами кода.
Метод 1: Array.prototype.filter()
Самый простой подход к условной фильтрации в TypeScript — использование метода filter()
. Этот метод создает новый массив со всеми элементами, отвечающими заданному условию. Вот пример:
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter((num) => num % 2 === 0);
console.log(evenNumbers); // Output: [2, 4]
Метод 2: Array.prototype.reduce()
Другой метод условной фильтрации массива — использование метода reduce()
. С помощью reduce()
вы можете накапливать элементы, соответствующие определенному условию, в новый массив. Вот пример:
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.reduce((acc, num) => {
if (num % 2 === 0) {
acc.push(num);
}
return acc;
}, []);
console.log(evenNumbers); // Output: [2, 4]
Метод 3: Array.prototype.forEach()
Метод forEach()
также можно использовать для условной фильтрации, хотя он не создает новый массив напрямую. Вместо этого вы можете накапливать отфильтрованные элементы вручную. Вот пример:
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = [];
numbers.forEach((num) => {
if (num % 2 === 0) {
evenNumbers.push(num);
}
});
console.log(evenNumbers); // Output: [2, 4]
Метод 4: Array.prototype.flatMap()
Если вы хотите выполнить условную фильтрацию и одновременно преобразовать элементы, вы можете использовать метод flatMap()
. flatMap()
применяет функцию сопоставления к каждому элементу и сводит результат в новый массив. Вот пример:
const numbers = [1, 2, 3, 4, 5];
const squaredEvenNumbers = numbers.flatMap((num) => {
if (num % 2 === 0) {
return [num 2];
}
return [];
});
console.log(squaredEvenNumbers); // Output: [4, 16]
В этой статье мы рассмотрели различные методы условной фильтрации массивов в TypeScript. Мы рассмотрели методы filter()
, reduce()
, forEach()
и flatMap()
, каждый из которых предоставляет уникальный способ реализации условной фильтрации. на основе конкретных критериев. Используя эти методы, вы можете писать краткий, выразительный и простой в сопровождении код.