Блок: Фильтрация
Last updated
Last updated
Блок "Фильтрация" используется для отбора данных из исходного массива, которые соответствуют заданным условиям. Это позволяет сократить объем данных для дальнейшей обработки, выделяя только те элементы, которые удовлетворяют определённым критериям.
Название блока:
Уникальное имя, которое идентифицирует задачу фильтрации в текущем сценарии, например: "Фильтрация по локации".
Исходный массив:
Переменная, содержащая данные для фильтрации. Например: carList
(список автомобилей).
Массив назначения:
Переменная, в которую будет сохранён результат фильтрации. Например: carList2
.
Условие для фильтрации:
JavaScript-условие, определяющее логику отбора данных. Пример:
Здесь происходит проверка, соответствует ли локация элемента исходного массива массиву локаций из результата предыдущего шага (gptResult.locations
).
Сценарий: Фильтрация автомобилей по локации
Исходные данные (массив carList
):
Условие фильтрации:
Проверяем, содержится ли location
элемента массива в массиве локаций, полученном из предыдущего шага (gptResult.locations
).
Пример результата фильтрации (массив carList2
):
Гибкость настройки условий фильтрации: Позволяет использовать сложные JavaScript-выражения для отбора данных.
Динамическая фильтрация: Условия могут опираться на результаты работы предыдущих блоков, таких как ИИ Запрос.
Сохранение результата: Результаты фильтрации сохраняются в отдельный массив, что позволяет продолжать их обработку в других блоках.
this.gptResult.locations
Что это такое? Это массив локаций, который был получен на предыдущих этапах. Пример:
?.
(опциональная цепочка):
Проверяет, существует ли объект locations
. Если он отсутствует или равен undefined
, выражение не вызывает ошибку, а просто возвращает undefined
.
.find(location => ...)
Что это делает?
Метод find
ищет первый элемент в массиве locations
, который удовлетворяет указанному условию.
Пример работы:
this.contains(
${this.item.location}, location)
Что это такое?
Проверка на соответствие текущей локации элемента (this.item.location
) одному из значений в массиве locations
.
Аргументы:
${this.item.location}
: локация текущего элемента массива, который фильтруется. Например, "Moscow"
.
location
: текущий элемент массива locations
, который проверяется методом find
.
Метод this.contains
:
Проверяет, содержит ли строка локации элемента (this.item.location
) значение из массива locations
.
Например:
Пример работы всего выражения:
Исходные данные:
Проверка:
Результат:
Метод find
вернёт "Moscow"
, так как он удовлетворяет условию.
Пример в контексте
Исходные данные (carList
):
Локации из this.gptResult
:
Условие:
Результат фильтрации:
В массив назначения попадут только те элементы, где location
элемента соответствует значениям в массиве this.gptResult.locations
.