Menu
Coddy logo textTech

Обобщенные массивы

Часть раздела Введение в TypeScript путешествия по JavaScript на Coddy. Урок 60 из 73.

Массивы и обобщения прекрасно работают вместе в TypeScript. Когда ранее вы изучали типизированные массивы, вы использовали синтаксис T[], чтобы указать, что массив может содержать только элементы определённого типа. Обобщения дают вам ещё один способ выразить эту же концепцию.

TypeScript предоставляет альтернативный синтаксис для типизированных массивов в формате Array<T>:

// Эти два объявления эквивалентны:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];

Синтаксис Array<T> особенно полезен при работе с generic function, которые работают с arrays. Он делает generic-природу вашего кода более явной и понятной, особенно когда вы создаёте function, способные работать с arrays любого типа, сохраняя безопасность типов.

challenge icon

Задание

Легко

Создайте generic function с именем getFirstElement, которая принимает массив любого типа и возвращает первый элемент или undefined, если массив пуст.

function должна:

  • Использовать generic параметр типа T
  • Принимать один параметр с именем arr типа Array<T>
  • Возвращать первый элемент типа T или undefined
  • Иметь явную аннотацию типа возвращаемого значения T | undefined

Создайте следующие arrays, используя syntax Array<T>:

  • stringArray типа Array<string>, содержащий ["apple", "banana", "cherry"]
  • numberArray типа Array<number>, содержащий [10, 20, 30, 40]
  • booleanArray типа Array<boolean>, содержащий [true, false, true]
  • emptyStringArray типа Array<string>, который пуст

Протестируйте свою function и выведите следующие результаты:

  • Выведите результат вызова getFirstElement с stringArray
  • Выведите результат вызова getFirstElement с numberArray
  • Выведите результат вызова getFirstElement с booleanArray
  • Выведите результат вызова getFirstElement с emptyStringArray
  • Выведите результат вызова getFirstElement с новым Array<string>, содержащим ["single"]
ТРЕБУЕМЫЙ ФОРМАТ ВЫВОДА: [Ваш переведённый текст здесь]

Попробуйте сами

// TODO: Напишите ваш код здесь
// Создайте обобщённую функцию getFirstElement

// Создайте необходимые массивы, используя синтаксис Array&lt;T&gt;

// Протестируйте функцию и выведите результаты
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Введение в TypeScript

Потренируйтесь самостоятельно: Онлайн-компилятор JavaScript