0Pricing
Dart Academy · Урок

Поиск и сортировка списков

Поиск, contains, indexOf и сортировка

«Поиск и сортировка списков» — бесплатный урок Dart Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.

Поиск элементов

Списки позволяют быстро задавать вопросы об их содержимом: существует ли элемент и где он находится. Давайте изучим поиск. 🔍

Содержит ли список элемент?

Метод contains возвращает true или false и сообщает, содержится ли значение где-либо в списке.

var pets = ['cat', 'dog'];
print(pets.contains('dog')); // true

Где находится элемент?

Используйте indexOf, чтобы найти позицию элемента. Метод возвращает индекс первого совпадения или -1, если значение отсутствует.

print(pets.indexOf('dog')); // 1

Отсутствующий элемент означает минус один

Если indexOf не может найти значение, он возвращает -1. Проверка на -1 — простой способ обработать отсутствующие элементы.

print(pets.indexOf('fish')); // -1

Первое совпадение по правилу

Выполняйте поиск по условию с помощью firstWhere. Метод возвращает первый элемент, для которого Ваша функция проверки возвращает true.

var nums = [3, 8, 5];
print(nums.firstWhere((n) => n > 4)); // 8

Любой и каждый

Быстро задавайте общие вопросы. any возвращает true, если подходит хотя бы один элемент, а «каждый» — только если подходят все.

print(nums.any((n) => n > 7)); // true

Сортировка на месте

Метод sort изменяет порядок элементов самого списка — по умолчанию от меньшего к большему. Он изменяет исходный список и ничего не возвращает.

var scores = [3, 1, 2];
scores.sort();
print(scores); // [1, 2, 3]

Сортировка строк

Вызов sort для текста по умолчанию упорядочивает его по алфавиту, сравнивая символы слева направо.

var names = ['Bea', 'Al', 'Cy'];
names.sort(); // [Al, Bea, Cy]

Собственный порядок сортировки

Передайте компаратор, чтобы сортировать по собственному правилу. Верните отрицательное число, чтобы поставить a перед b, или положительное — чтобы поменять их местами.

scores.sort((a, b) => b - a); // descending

Обращение списка

Свойство reversed возвращает представление списка в обратном порядке. Оберните его в toList, если Вам нужен настоящий перевёрнутый список.

print(scores.reversed.toList());

lastIndexOf

Если есть повторяющиеся элементы, lastIndexOf находит позицию последнего совпадения, а не первого.

var bits = [1, 0, 1];
print(bits.lastIndexOf(1)); // 2

Быстрая проверка

Вы вызываете indexOf для отсутствующего значения. Что вернётся?

Итоги

Теперь Вы умеете исследовать и упорядочивать списки: использовать contains, indexOf, firstWhere, any и sort с собственными правилами. Работа с данными стала доступнее! 📊

Часто задаваемые вопросы

Урок «Поиск и сортировка списков» бесплатный?

Да — полный текст урока «Поиск и сортировка списков» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.

Чему я научусь в уроке «Поиск и сортировка списков»?

Поиск, contains, indexOf и сортировка Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Dart Academy?

Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Поиск и сортировка списков»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Dart Academy?

Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Создание списков и индексация
  2. Добавление, удаление и обновление элементов
  3. Поиск и сортировка списков
  4. Преобразование с помощью map, where и toList
← Назад к Dart Academy