Категории

Брать пока

Берет элементы пока условие истинно

Берет элементы с начала, пока предикат остается истинным.

Особенности:

  • Использует lodash _.takeWhile
  • Поддерживает числовые и строковые предикаты
  • Возвращает префикс в JSON

Пример:

  • Массив: [1, 2, 3, 1]
  • Предикат: less-than
  • Сравнение: 3
  • Результат: [1, 2]

Введите JSON массив

Выберите условие для отбора

Значение для сравнения (часто требуется)

Ключевые факты

Категория
Data Processing
Типы входных данных
textarea, select, text
Тип результата
text
Покрытие примерами
4
API доступен
Yes

Обзор

Инструмент 'Брать пока' извлекает элементы из JSON-массива, начиная с первого, пока заданное условие остаётся истинным. Он использует функцию _.takeWhile из библиотеки lodash для быстрой и точной фильтрации данных по предикатам, таким как сравнение чисел или проверка строк.

Когда использовать

  • Когда нужно получить начальный сегмент массива до первого элемента, не удовлетворяющего условию, например, все числа меньше 10.
  • Для последовательной обработки данных, где важен порядок, как в логах или временных рядах, чтобы извлечь префикс до аномалии.
  • При фильтрации строковых массивов по подстрокам, например, извлечь все элементы, начинающиеся с определённого префикса.

Как это работает

  • Вставьте JSON-массив в текстовое поле, например, [1, 2, 3, 1].
  • Выберите тип предиката из списка, такой как 'меньше' для чисел или 'содержит' для строк.
  • Укажите значение сравнения, если оно требуется для предиката, например, 3 для условия 'меньше 3'.
  • Инструмент применит предикат и вернёт префикс массива в формате JSON, например, [1, 2].

Сценарии использования

Извлечение всех положительных чисел из начала массива до первого отрицательного или нуля.
Получение начальных записей лога до первой ошибки или предупреждения для быстрого анализа.
Фильтрация списка задач или событий, выполненных до определённого порога, например, по дате или статусу.

Примеры

1. Извлечение чисел меньше заданного значения

Аналитик данных
Контекст
Есть массив чисел [5, 10, 3, 8, 2], и нужно получить все элементы до первого, которое больше или равно 8.
Проблема
Вручную перебирать массив долго и можно пропустить элементы.
Как использовать
Введите массив [5, 10, 3, 8, 2], выберите предикат 'меньше' и укажите значение 8.
Пример конфигурации
{"predicateType": "less-than", "compareValue": "8"}
Результат
Результат: [5, 10, 3], так как 8 не удовлетворяет условию 'меньше 8'.

2. Поиск строк, начинающихся с префикса

Разработчик
Контекст
Массив строк ['apple', 'application', 'banana', 'appetizer'] содержит элементы, и нужно извлечь все, начинающиеся с 'app', пока не встретится другая.
Проблема
Автоматизация извлечения префикса из списка строк для обработки данных.
Как использовать
Загрузите массив строк, выберите предикат 'начинается с' и введите 'app'.
Пример конфигурации
{"predicateType": "string-starts-with", "compareValue": "app"}
Результат
Результат: ['apple', 'application'], так как 'banana' не начинается с 'app'.

Проверить на примерах

json

Связанные хабы

FAQ

Какие типы предикатов доступны?

Поддерживаются числовые предикаты (меньше, больше, равно, не равно), строковые (содержит, начинается с, заканчивается на) и логические (истинно, ложно, null/undefined).

Обязательно ли указывать значение сравнения?

Нет, для предикатов типа 'истинно', 'ложно' или 'null/undefined' значение сравнения не требуется.

Что происходит с пустым массивом?

Если массив пуст, результатом будет пустой массив, так как нет элементов для проверки условия.

Можно ли использовать инструмент для смешанных типов данных?

Да, но предикаты должны соответствовать типам данных в массиве; например, для числовых сравнений используйте числовые предикаты.

Какой формат результата?

Результат всегда возвращается в виде JSON-массива, содержащего элементы от начала до первого, не удовлетворяющего условию.

Документация API

Конечная точка запроса

POST /ru/api/tools/take-while

Параметры запроса

Имя параметра Тип Обязательно Описание
array textarea Да Введите JSON массив
predicateType select Да Выберите условие для отбора
compareValue text Нет Значение для сравнения (часто требуется)

Формат ответа

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Текст: Текст

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-take-while": {
      "name": "take-while",
      "description": "Берет элементы пока условие истинно",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=take-while",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]