TypeScript — это статически типизированная расширенная версия JavaScript, которая добавляет аннотации типов в код JavaScript. Он предоставляет широкий спектр функций, улучшающих разработку JavaScript, включая поддержку коллекций и структур данных. В этой статье мы рассмотрим различные коллекции и связанные с ними методы в TypeScript, а также приведем примеры кода, иллюстрирующие их использование.
- Массивы.
Массивы — это фундаментальная структура данных в TypeScript, позволяющая хранить коллекцию значений и управлять ею.
Пример:
let numbers: number[] = [1, 2, 3, 4, 5];
// Adding an element at the end
numbers.push(6);
// Removing the last element
numbers.pop();
// Accessing elements by index
console.log(numbers[0]); // Output: 1
// Iterating over the array
numbers.forEach((num) => {
console.log(num);
});
- Наборы.
Наборы — это коллекции уникальных значений в TypeScript. Они предоставляют методы для добавления, удаления и проверки наличия элементов.
Пример:
let set: Set<string> = new Set();
// Adding elements to the set
set.add("apple");
set.add("banana");
set.add("orange");
// Checking if an element exists
console.log(set.has("banana")); // Output: true
// Removing an element
set.delete("apple");
// Iterating over the set
set.forEach((fruit) => {
console.log(fruit);
});
- Карты.
Карты — это пары ключ-значение в TypeScript, где каждый ключ уникален. Они предлагают методы для добавления, доступа и удаления элементов на основе их ключей.
Пример:
let map: Map<string, number> = new Map();
// Adding elements to the map
map.set("apple", 1);
map.set("banana", 2);
map.set("orange", 3);
// Accessing elements by key
console.log(map.get("banana")); // Output: 2
// Removing an element
map.delete("apple");
// Iterating over the map
map.forEach((value, key) => {
console.log(key, value);
});
- Очереди.
Очереди построены по принципу «первым пришел — первым обслужен» (FIFO), что позволяет вставлять элементы в конце и удалять их спереди.
Пример:
class Queue<T> {
private elements: T[] = [];
enqueue(element: T) {
this.elements.push(element);
}
dequeue(): T | undefined {
return this.elements.shift();
}
isEmpty(): boolean {
return this.elements.length === 0;
}
}
let queue: Queue<number> = new Queue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
console.log(queue.dequeue()); // Output: 1
console.log(queue.isEmpty()); // Output: false
- Стеки.
Стеки созданы по принципу «последним пришел — первым обслужен» (LIFO), что позволяет вставлять элементы сверху и удалять их сверху.
Пример:
class Stack<T> {
private elements: T[] = [];
push(element: T) {
this.elements.push(element);
}
pop(): T | undefined {
return this.elements.pop();
}
isEmpty(): boolean {
return this.elements.length === 0;
}
}
let stack: Stack<number> = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.pop()); // Output: 3
console.log(stack.isEmpty()); // Output: false
В этой статье мы рассмотрели различные коллекции и связанные с ними методы в TypeScript. Мы рассмотрели массивы, наборы, карты, очереди и стеки, предоставив примеры кода для каждой структуры данных. Используя эти коллекции и их методы, вы можете эффективно управлять данными и манипулировать ими в своих проектах TypeScript.
Реализуя коллекции TypeScript, вы можете улучшить процесс разработки и писать более эффективный код. Если вам нужно хранить данные и получать к ним доступ, выполнять операции с уникальными значениями или управлять элементами в определенном порядке, коллекции TypeScript предлагают необходимые инструменты для выполнения этих задач.
Не забудьте выбрать подходящую коллекцию в соответствии с вашими конкретными требованиями и использовать предоставленные методы для оптимизации вашего кода.